我有:一个.NET Core App,针对VS 2017进行了修改并使用了TFS Feed。
当它在 VS 2015 时,NuGet restore
工作正常。
现在使用 VS 2017 ,NuGet restore
它无法返回Failed to load msbuild Toolset
... Could not load file or assembly 'Microsoft.Build, Version=14.0.0.0
我也尝试使用dotnet restore
,我得到了401 (Unauthorized)
回复。
显然NuGet restore
是首选方法,因为它会自动为我们验证,以便使用TFS Feed,但它似乎无法识别VS 2017。
很抱歉这个混乱,我忘了提到问题是使用CI / CD Visual Studio Team Services / Build。在我的电脑上,它运行正常,因为我有NuGet 4(它带有VS 2017)...但在线可用的NuGet版本(可访问私人供稿)是:3.3和3.5
答案 0 :(得分:1)
最后,一些升级有两个选项,如何解决这个问题:
答案 1 :(得分:1)
您可以使用位于%APPDATA%\ NuGet \ NuGet.Config
中的构建服务器的nuget全局配置文件答案 2 :(得分:0)
我尝试使用TFS 2017 + VS 2017 + Nuget 4.0.0.2323,在VS中的Package Source中添加TFS feed后,VS可以成功恢复它。
您可以将您的环境与我的环境进行比较,尤其是Nuget版本,因为某人与之前的Nuget版本存在类似问题,请检查:https://github.com/NuGet/Home/issues/3975
=============================================== ==========================
添加屏幕截图:
答案 3 :(得分:0)
我尝试了@ Cece-MSFT的一些建议,但无法让这些建议没有错误。这对我有用。我不得不将4.0。*版本的nuget.exe签入版本控制。我添加了一个命令行实用程序并执行了我的nuget.exe检查,一切都运行良好。
注意:这也适用于.net核心和asp.net框架类库的混合。这是github报道的issue。
注意2:我在我的解决方案中使用.csproj版本(VS 2017,没有project.json)用于我的所有.net核心项目。
这是我的nuget restore构建步骤的屏幕。希望这有助于某人。
答案 4 :(得分:0)
我通过删除nuget还原步骤并在msbuild参数上添加/ t:restore来解决此问题。通过这样做,您不需要手动升级nuget。
答案 5 :(得分:0)
我设法通过确保在构建中使用以下设置来解决此问题:
不知道为什么你需要这个特定的组合哈哈!
刚才意识到你正在构建一个CORE应用程序抱歉。为此,恢复很好,然后构建无法扩展包。我猜想更接近一步!
答案 6 :(得分:0)
我有一个不同的原因,在VSTS / Azure DevOps中,首先在托管代理上使用“使用Nuget”,然后使用“ NuGet恢复”,...恢复引发此错误。
我不得不改变这个...
Path to solution, packages.config, or project.json: **/*.sln
对此...
Path to solution, packages.config, or project.json: **\{YOUR_SOLUTION_NAME}.sln
错误消失了。
希望这会有所帮助!