我們有一個Nuget軟件包,它已經在內部開發,並將許多與MVC相關的資源添加到任何將其拉入的項目中--文件夾中的Index.cshtml
視圖,一個HomeController
和Controllers
文件夾和一個Content
文件夾,其中包含一些靜態文件。在TFS中更新nuget軟件包時處理待執行的刪除操作
我們創建包的新版本,並將其拉入一個項目,是TFS源代碼控制之下時,都會包的當前版本是先卸載(標準的NuGet行爲)。這會導致所有資產被置於源代碼管理中的掛起刪除狀態。每當一個文件夾清空所有文件時,該文件夾也被置於掛起刪除狀態。
當安裝新版本的Nuget軟件包時,軟件包管理器會拋出錯誤,因爲它試圖複製的資產已經設置爲刪除,或者父文件夾設置爲在文件夾中刪除。
有沒有辦法,要麼靠TFS安裝新的包或不首先卸載時刪除它們時有效地救回資產來處理這種情況呢?
我們也有類似的問題似乎與本地工作區和一定數量的文件從更新的軟件包,因爲我們的軟件包中只有一個包含兩個文件,並且它們被正確標記爲由我們的TFS「更改」。 那麼你也使用本地工作區?包裝中包含多少個文件? – Boris
我也在使用本地工作區。包中有5個文件,1個控制器,1個視圖和3個其他資產。每個文件夾都沒有任何其他文件,因此卸載軟件包時,文件所在的文件夾會被標記爲暫掛刪除。如果作爲軟件包一部分的文件在安裝後發生了變化,Nuget似乎很聰明,可以忽略該文件(或者至少讓您選擇忽略它),並且不會刪除文件。這些文件在TFS中被標記爲已修改。 – levelnis
所以我認爲你並沒有絆倒解決方案。這太遺憾了。 ;)我實際上採取將我的工作空間轉換回服務器工作空間,並且不再有這些問題。可能是一個實際的NuGet錯誤? (請參閱[本官方問題](http://nuget.codeplex.com/workitem/1690),儘管前段時間它已關閉)。 – Boris