在MSBuild中传递variables的不同方法
我对MS Build很陌生,一直在审查Visual Studio附带的许多内置目标文件。 我已经看到variables通过了几种不同的方式,并不太清楚这些之间的差异:
$(...) @(...) %(...)
-
$(...)
用于访问Property
值(有关Property元素的更多信息)<PropertyGroup> <Configuration>Debug</Configuration> </PropertyGroup> <Message Text="Configuration = $(Configuration)"/>
-
@(...)
用于访问Item
值(有关Item元素的更多信息)<ItemGroup> <Reference Include="System.Data"/> <Reference Include="System.Web.*"/> </ItemGroup> <Message Text="References = @(Reference)"/>
-
%(...)
用于访问Item Metadata
值(有关项目元数据的更多信息)。 它也被用来做配料 。<ItemGroup> <Compile Include="Account\ChangePassword.aspx.cs"> <DependentUpon>ChangePassword.aspx</DependentUpon> <SubType>ASPXCodeBehind</SubType> <Compile/> </ItemGroup> <Message Text="Element @(Compile) of subtype %(SubType) and depend of %(DependentUpon)"/>
美元 – $(MyProp):允许您引用在PropertyGroups中指定的值。
在Sign – @(CodeFile):允许您引用ItemGroups中指定的项目列表。
百分比 – %(CodeFile.BatchNum):允许您使用元数据引用批量的ItemGroup值。 这有点复杂,所以绝对要查看文档以获取更多信息。
看看每个链接的更详细的信息如何使用这些。 祝你好运,希望这会有帮助!
- 无法在Visual Studio 2015中生成,因为找不到“Microsoft.Build.Tasks.v14.0.dll”
- “指定条件”$(PackageAsSingleFile)“评估为”“,而不是一个布尔?
- 在Build Server上构build不带Visual Studio的ASP.NET 4.5
- 符号文件不加载在Visual Studio 2012中debugging自定义项目
- Visual Studio中大型解决scheme的最佳实践(2008)
- 用于删除文件的MSBuild任务语法
- 如何使用licenses.licx文件
- 如何在不安装Visual Studio的情况下构build.NET 4.6 Framework应用程序?
- 如何为MSBuild指定平台?