0

我正在爲.NET項目使用mspec(machine specification)單元測試框架。沒有家屬的Nuget包

我用nuget獲得所有必需的軟件包。

有一個特定的包,這不是代碼的一部分。它是mspec的「控制檯」應用程序,用於從命令行運行VS外部的單元測試。當我使用Nuget來安裝它時,Nuget不會將它添加到Test項目中的普通「packages.config」文件中。 它將它添加到「.nuget」文件夾中存在的「packages.config」文件夾中。

但是,當我的同事打開項目和建立,他的VS沒有得到該包。

如何改變這種情況,強制VS自動獲取包?

+0

答案能解決您的問題嗎?如果沒有,請讓我們來了解關於這個問題的最新信息?謝謝。 –

回答

1

Nuget不會將它添加到Test項目中的正常「packages.config」文件中。它將它添加到「.nuget」文件夾中存在的「packages.config」文件夾中。

那是因爲你正在使用的NuGet 2.7或更高版本以及有一種仍然被老包配置的恢復方法的解決方案「的MSBuild集成恢復」。這會導致構建失敗,並顯示錯誤,指出您沒有同意恢復軟件包。 Visual Studio將跳過自動包恢復。

如何改變這種情況,強制VS自動獲取包?

要解決這個問題,你可以按照下面的步驟:

  1. 關閉Visual Studio來避免潛在的文件文件鎖定和衝突。

  2. 如果使用TFS:a。從解決方案的.nuget文件夾中刪除nuget.exe和nuget.targets,並從解決方案工作區刪除這些文件。一個。使用disableSourceControlIntegration設置保留nuget.config,如Omitting packages with Team Foundation Version Control中所述。

  3. 如果不使用TFS:a。從解決方案和解決方案工作區中刪除.nuget文件夾。

  4. 編輯解決方案中的每個項目文件,刪除<RestorePackages>元素,並刪除對nuget.targets文件的任何引用。有關更多詳細信息,請參閱Migrating to automatic restore

相關問題