0
在MSBuild項目文件,我要採取以下變量:如何獲取MSBuild項目文件中的文件夾名稱?
$(MSBuildProjectDirectory)
等於:
c:\projects\myproject\branches\changenumber\soapservice
,創造這個變量:
$(MSBuildProjectDirectoryName)
將其設置爲此:
changenumber
我想要做的事就像一個MSBuild項目文件中的以下內容:
<PropertyGroup>
<LinqToXsdBinDir Condition="'$(LinqToXsdBinDir)' == ''">$(SolutionDir)..\LinqToXsd</LinqToXsdBinDir>
<MSBuildProjectParentDirectoryName Condition="'$(MSBuildProjectDirectoryName)' == ''">Path.GetDirectoryName(Path.GetDirectory($(MSBuildProjectDirectory)))</MSBuildProjectParentDirectoryName>
***SNIP***
</PropertyGroup>
***SNIP***
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<IISUrl>http://localhost/ThisSoft/$(MSBuildProjectParentDirectoryName)/LayerName</IISUrl>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
如何設置一個MSBuild變量是等價的:
string MSBuildProjectDirectory = Path.GetFileName(Path.GetDirectoryName(bob));
非常感謝您,可悲的是,您似乎無法真正地創建一個動態的IISUrl,該字符串會按原樣使用。但是,瞭解構建到MSBuild中的所有功能仍然非常有用。 – RoboJ1M