簡體   English   中英

新的.net核心視覺工作室2017項目nuget恢復CI構建定義

[英]new .net core visual studio 2017 project nuget restore in CI build definition

所以目前,我正在Visual Studio 2017中開發一個.net核心項目。 我還需要在VSTS中設置CI(持續集成)。

這是我的構建定義中的nuget restore步驟

在此輸入圖像描述

但我的構建失敗,因為它無法恢復任何包。 這是它的日志。 它說“此解決方案中沒有任何項目指定任何包”。 我知道在VS2017中他們改變了nuget包的處理方式。 任何人都有這方面的想法或經驗?

2017-03-22T20:25:11.9517911Z MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
2017-03-22T20:25:11.9674167Z Nothing to do. None of the projects in this solution specify any packages for NuGet to restore.
2017-03-22T20:25:11.9830425Z ##[section]Finishing: NuGet restore **/*.sln

我不想使用dotnet restore因為微軟說

.NET Core的dotnet restore命令當前不支持加密憑據。 要通過dotnet還原使用VSTS NuGet提要,您需要以純文本格式指定個人訪問令牌。

所以我不想存儲我的個人訪問令牌。 https://www.visualstudio.com/en-us/docs/package/nuget/auth#net-core

您需要使用NuGet 4.0。

從官方NuGet網站下載它。 https://dist.nuget.org/index.html

將它放在您擁有構建代理程序的計算機上的文件夾中。

在NuGet還原步驟的高級設置中,將NuGet版本設置為自定義。

在NuGet.exe路徑中,指定放置NuGet.exe文件的路徑。 這是運行構建代理程序的計算機上的路徑。 我嘗試了一個相對路徑,但無法讓它工作,所以最后我已經放了一條絕對路徑。 如果您有多個具有不同路徑的代理,則可能會出現問題,因此您可能需要弄清楚如何正確指定相對路徑。

Nuget還原任務只包括Nuget.exe 3.3和3.5,因此沒有4.0的選項。 您可以檢查[build agent folder]\\tasks\\NuGetInstaller\\[version]\\ node_modules\\nuget-task-common\\NuGet文件夾中的文件。

您可以構建自定義生成/發布任務以包含nuget.exe 4.0並改為使用此任務。 更多信息,您可以參考添加構建任務

另一方面,您可以將Nuget.exe添加到源代碼控制,然后將其映射到構建代理(構建定義的存儲庫選項卡)並指定具有內置變量的路徑(例如$(build.sourcesdirectory))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM