使用通配符在csproj中包含内容

时间:2017-08-07 15:48:42

标签: c# visual-studio-2015 msbuild

首先我要解决的问题。我在一个大型团队工作,我们的web.csproj文件经常出现合并冲突。我试图实现的解决方案是使用外卡包含内容文件。

我正在尝试将所有文​​件包含在我的web.csproj文件中的目录中。

<Content Include="Areas\Public\Client\**\*.js" />
<Content Include="Areas\Public\Client\**\*.html" />
<Content Include="Areas\Public\Client\**\*css" />

乍一看这很有用。我可以在visual studio中看到所有匹配这些模式的文件。问题是,如果有人从Visual Studio中删除文件,则IDE会枚举csproj文件中的所有文件并删除上面的通配符行。

你们有没有解决这个问题或有任何建议?

谢谢!

1 个答案:

答案 0 :(得分:2)

在VS 2015中,如果不失去添加/重命名/移动/等功能,这是不可能的。项目保留通配符。

项目文件中的globbing处理仅受VS 2017中new CPS-based project system的影响,而{2017}尚未用于“经典”.NET / ASP.NET项目。

有些方法可以在构建期间使用globbing模式(使用自定义目标)添加内容项,但这些方法不会显示在解决方案资源管理器中(可以自动生成文件)