2017-04-27 42 views
0

我遇到了問題,如果我有一個VS2017解決方案,並嘗試在我們的TFS2013構建服務器上構建它,它會因不恢復nuget包而失敗。如果我將此2017解決方案轉換爲VS2015並將其簽入並構建,則nuget-packages將得到恢復。從VS2017解決方案不能正常工作的TFS2013的NuGet恢復

我已經嘗試使用來自nuget.org和來自內部nuget軟件包源的軟件包。所以在VS2017和VS2015之間關於nuget-packages的自動恢復有一些改變。但我找不到解決方案。任何其他人都遇到了這個問題......

+0

如果您在本地構建解決方案並在Visual Studio 2017中啓用Nuget包恢復,結果如何?如果問題與TFS服務器/構建定義相關,這將縮小範圍。當TFS編譯失敗時,你得到了什麼細節錯誤?你能否更新你問題中的相關信息? –

+0

你在VS2017中創建了什麼樣的項目?如果你在TFS中構建.net核心項目,它在VS 2015和VS 2017之間確實有區別。在VS2015的.net核心項目中安裝nuget包,它使用packages.config文件。但在VS 2017中,它使用[project.json](https://docs.microsoft.com/en-us/nuget/schema/project-json)文件。 –

回答

0

如果你正在構建.net核心項目,它在VS 2015和VS 2017之間確實有區別。在VS 2015中的.net核心項目中安裝nuget包,它使用packages.config文件。但在VS 2017中,它不再使用packages.config文件。

  1. 您需要創建一個批處理文件,運行dotnet restore命令爲您的解決方案恢復nuget軟件包。

代碼:

dotnet restore %TF_BUILD_SOURCESDIRECTORY%\...\WebApplication1Core 
  • 你最好使用VS 2017年您的構建代理構建解決方案。你可以參閱最後答覆在此線程有關XAML構建使用VS 2017年:https://social.msdn.microsoft.com/Forums/vstudio/en-US/f3c4fc0b-d9ee-474a-9d91-9c5810b074a2/how-to-get-vs-2017-working-with-tfs-2017-xaml-builds?forum=tfsbuild
  • 最後,我建議你可以將您的TFS升級到2017年,用Vnext建立建設項目中創建VS 2017.

    相關問題