首先,我要解决的问题。我在一个大型团队中工作,我们在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文件中的所有文件并删除上面的通配符行。

你们有没有解决这个问题或有什么建议?

谢谢!

最佳答案

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

VS 2017中的new CPS-based project system仅促进了对项目文件中的glob的处理,(尚未)将其用于“经典” .NET / ASP.NET项目。

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

10-08 14:01