2017-08-07 83 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

是的,我告訴你這是不可能的。我會編輯以清楚說明。 –