2013-01-16 22 views
5

Kaynak ağacımın .vcproj ve .csproj projelerini (VS2005) aradığını inceleyen bir araç yazıyorum. Her projenin bir uygulama, DLL veya statik lib projesi olup olmadığını bilmek istiyorum.Visual Studio proje dosyasının uygulama, DLL veya statik kitaplık projesini temsil ettiğini nasıl anlarsınız?

C# için bu sorunun bir yanıtı olduğunu düşünüyorum (How do you tell the Visual Studio project type from an existing Visual Studio project) ancak C++ projelerinde belirgin bir paralellik bulamıyorum. Mümkünse metinde basit bir arama terimi olarak kullanabileceğim bir şeyi tercih ederim.

+0

2012'de ' Uygulama', 'PropertyGroup' içinde' Label = 'Configuration' '. Hangi proje konfigürasyonunun seçildiğine bağlı olarak değişebileceğini unutmayın - böylece uygun olanı seçebilmeniz gerekir. –

+2

C++ –

+0

için 2010'da işleri çok fazla değiştirdiğinden eminim. Kullandığınız çözümü iki kez kontrol etmek için, projeyi sağ tıklatıp 'Özellikler' -> Yapılandırma Özellikleri 'ni seçerek verilen bir proje türünü doğrulayabilirsiniz. > 'Genel'->' 'Yapılandırma Türü' (" Proje Varsayılanları ") – bunkerdive

cevap

5

.vcproj dosyasındaki "ConfigurationType" özniteliğini ayrıştırmanız gerekir. <VisualStudioProject><Configurations><Configuration> öğesinin bir özniteliği. Bir statik proje projesi için bir DLL projesi "4" için "2" dir. Farklı özelliklerin bu özellik için farklı değerlere sahip olabileceğine dikkat edin, ancak bu durum çok sıra dışı olacaktır.

Genellikle .vcproj dosyasının bir kopyasını yaparak, Project + Özellik sayfalarında değişiklik yaparak, File + SaveAll öğelerini kullanarak ve sonra değiştirilenleri görmek için iki .vcproj dosyasını karşılaştırarak bu şeyleri tersine mühendisleştirin.

Visual Studio'nun eski bir sürümüne çok fazla çaba harcadığınız için biraz dikkatli olun. Sekiz yıl yazılım mühendisliğinde çok uzun bir süre, özellikle de C++ 11 standardı yayınlandıktan sonra. C++ proje dosyası formatı, VS2010'da önemli ölçüde değişti, şimdi MSBuild aracılığıyla destekleri destekleyerek VS'deki dillerin geri kalanına katılan bir .vcxproj dosyası. VS sürümünüzü bir gün yükselttiğinizde tüm bunları yeniden yapmanız gerekecek. Bunu yapsanız iyi olur, çünkü aracınıza bağlı olduğunuzda daha kolay olmayacağınızdan emin olun.

+0

Güncelleme dış faktörler tarafından yönlendirildiğinden, bu durumda, bir gün hareket ettiğimizde testin _long_ test listesine" bu küçük yardımcı programı güncelleyin "eklenmesi iyi olur. 2010'a veya daha fazlasına kadar :) –

+0

ConfigurationType = "1" uygulama veya exe projesi içindir. – Nathan