2017-08-07 111 views
1

首先我试图解决的问题。我在一个庞大的团队中工作,我们在web.csproj文件中经常发生合并冲突。我试图实现的解决方案是使用通配符来包含内容文件。用通配符在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文件中的所有文件并删除上面的通配符行。

有没有人解决过这个问题或者有什么建议?

谢谢!

+0

这看起来像一个,这些将不会出现在生成过程中添加的内容项目处理删除文件后面的逻辑错误。我会考虑[提交报告](http://connect.microsoft.com)。 – sophros

+0

@sophros错误提交... https://connect.microsoft.com/VisualStudio/feedback/details/3138974/wildcard-support-in-a-csproj-file-gets-gets-removed-when-i-exclude-delete -a-file-using-visual-studio-solution-explorer – bluetoft

+0

太好了。如果你想修复它,最好是鼓励人们对这个bug进行投票。如果选票超过一定的门槛,它将被查看并修复。 – sophros

回答

1

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

项目文件中globbing的处理只能通过VS 2017中的new CPS-based project system进行推动,它尚未用于“经典”.NET/ASP.NET项目。

有一些方法可以使用匹配模式(使用自定义的目标),但在Solution Explorer(这是好的,对于自动生成的文件)

+0

谢谢,但我使用VS 2015.我不知道这有助于。 – bluetoft

+1

是的,我告诉你这是不可能的。我会编辑以清楚说明。 –