MSBuild ItemGroup,不包括 .svn 目录和文件
如何构造 MSBuild ItemGroup 以排除 .svn 目录及其中的所有文件(递归地)。 我已经:
<ItemGroup>
<LibraryFiles Include="$(LibrariesReleaseDir)\**\*.*" Exclude=".svn" />
</ItemGroup>
目前,但这并不排除任何事情!
How can I construct a MSBuild ItemGroup to exclude .svn directories and all files within (recursively). I've got:
<ItemGroup>
<LibraryFiles Include="$(LibrariesReleaseDir)\**\*.*" Exclude=".svn" />
</ItemGroup>
At the moment, but this does not exclude anything!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
所以问题出在 msbuild 中出于某种原因链接变量。 以下内容对我有用,请注意,我必须仅使用基于 MSBuildProjectDirectory 变量的相对路径。
以下不起作用:
很奇怪! 我只花了 3 个小时在这件事上。
So the issue is with chaining variables for some reason in msbuild. The following works for me, notice that I have to only use relative paths based on the MSBuildProjectDirectory variable.
The following does not work:
Very strange! I just spent like 3 hrs on this one.
我在使用“包含/排除”方法时遇到了一些小故障,所以这里有一些对我有用的方法:
I've run into some glitches using the Include/Exclude approach, so here's something that's worked for me instead:
这是一种更好的方法,真正的递归。 我似乎无法让你的解决方案深入超过 1 层:
Here's an even better way to do it, truly recursively. I can't seem to get your solution to go more than 1 level deep:
感谢您的帮助,设法按如下方式对其进行排序:
原来模式匹配基本上在文件上运行,因此您必须排除
.svn
目录下面的所有内容 (.svn\\**
)让 MSBuild 排除.svn
目录本身。Thanks for your help, managed to sort it as follows:
Turns out the pattern matching basically runs on files, so you have to exclude everything BELOW the
.svn
directories (.svn\\**
) for MSBuild to exclude the.svn
directory itself.