2010-10-05 31 views
6

hedeflerin geçerli dizini alın ve böyle bir ithalat etiketi vardır: Company.LifeCycle.targets dosyasının içeriği iseMsBuild: Bir Msbuild hedef var

<Import Project="$(MSBuildExtensionsPath)\Company\Company.LifeCycle.targets" /> 

, programlama geçerli dizin nasıl alabilirim (Bu durumda: C: \ Program Files \ MsBuild \ Company) ??

Ben VS 2008, .NET 3.5

Edit kullanın: Ben referansı, How can I get current directory in msbuild script? gördük, ama benim için geçerli değil: \ Work \ Şirket \ Projects \ Test001: $ (MSBuildProjectDirectory bana bu değer, C vermek \ ProyectSW3

cevap

2

Sorunuz zaten burada başka bir yazı yanıtlandı.:. MsBuild: Get current directory of targets orada cevaplar sizi tatmin umut

yapabilirsiniz geçerli proje dosyası ve size sana yolu verecektir oldukça fazla kullanım MSBuildProjectDirectory Bunun üzerine inşa edebilir

8

MSBuild 4 ile yeni 'MSBuildThisFileDirectory' özelliğini kullanarak blogumu http://sedodream.com/2010/03/11/MSBuild40ReservedProperties.aspx adresine bakabilirsiniz. MSBuild 4'ü kullanmıyorsanız, bunu kolayca yapamazsınız.

+0

msbuild 3.5 kullanıyorum; kaynak kodu yeni özellik 'MSBuildThisFileDirectory' MsBuild Community Tasks veya codeplex başka uzantıları gibi almak için kullanılabilir değil mi? – Kiquenet

+1

Hayır, bu MSBuild'in kendisi için bir güncelleme. Yolu almak yerine bir mülk üzerinden geçilmesi gerekiyor. –

+0

@SayedIbrahimHashimi, blogunuz ayrılmış mülkleri görmek için örnek projeyi nasıl çalıştıracağınız konusunda tam olarak net değildir. –