Msbuild CSPROJ文件中表达式语法的参考

Msbuild CSPROJ文件中表达式语法的参考,msbuild,csproj,Msbuild,Csproj,有人能给我指一下Visual Studio中csproj/vbproj文件中使用的表达式语言语法的参考吗?我看到的用法如下: <FilesForPackagingFromProject Include="%(CustomFiles.Identity)"> 。。。我正在努力理解“.Identity”这一点 这个问题没有直接回答您的问题,但最流行的答案包含大量有用的信息,并提供了%符号含义的线索 <_CustomFiles Include="..\Extra Files\*

有人能给我指一下Visual Studio中csproj/vbproj文件中使用的表达式语言语法的参考吗?我看到的用法如下:

 <FilesForPackagingFromProject Include="%(CustomFiles.Identity)">

。。。我正在努力理解“.Identity”这一点

这个问题没有直接回答您的问题,但最流行的答案包含大量有用的信息,并提供了%符号含义的线索

<_CustomFiles Include="..\Extra Files\**\*" />
<FilesForPackagingFromProject  Include="%(_CustomFiles.Identity)">

我认为
\u CustomFiles
标记创建了指向外部文件的链接,然后
%(\u CustomFiles.Identity)
引用了该外部文件中的元素

更新:


不!这是不对的。%表达式给出了一个标量值。_CustomFiles是一个项目,语法的.Identity部分引用了Marcos在接受的答案中解释的著名元数据。

Identity位是许多元数据中的一个。它本质上是msbuild的元数据。您可以使用元数据来解决问题。

问得好。我正在使用Visual Studio 2012 Express,界面中存在一些限制,迫使我手动编辑项目的.csproj文件。我还想知道在哪里可以找到语法文档。这个问题有一些有用的参考资料。这看起来是一个很好的起点:感谢给我投票权的人——我会接受他的努力,但这个答案是错误的。此链接有助于解释@、%和$之间的区别。这个链接可能更好,两个链接现在都死了。第一个链接是本书的一章。我找不到该页面的存档版本,但如果搜索“MSBuild:通过示例了解@和%”可能会找到一些内容。第二个链接存档在