我编辑project.csproj。并重新打开发生错误的解决方案: 由于无法加载项目xxx的详细信息,操作失败
我尝试删除obj& bin文件夹,通过工具>选项清除nuget缓存。 但错误仍然存在。
备注:每次都不会发生错误,我只是重启项目三次。第一个和第二个是正确的。但第三个错误发生
vs2017: Microsoft Visual Studio社区2017 版本15.0.26228.9 D15RTWSVC Microsoft .NET Framework 版本4.6.01586
程序包管理器控制台主机版本4.0.0.2323
答案 0 :(得分:58)
我遇到了同样的问题。微软显然已经意识到了这个问题,并在下一版本的预览中已经修复,请参阅以下注释以获取详细信息:
https://developercommunity.visualstudio.com/comments/31393/view.html
与此同时,解决方法是打开VS2017(无需加载解决方案),打开软件包管理器控制台,等待它完全加载,然后打开解决方案。
答案 1 :(得分:38)
我已经多次面对这个问题了,除了一个之外的所有问题都是通过关闭然后重新启动visual studio 2017来解决的。所以如果你没有,请尝试重新启动VS,然后如果失败,寻找更严肃的解决方案
答案 2 :(得分:10)
我在VS 2017中遇到了同样的问题,并提供了最新的.NET SDK更新。但这是一个我能够找到的快速简便的解决方案。
在项目打开时,打开“程序包管理器控制台”,然后运行'dotnet restore'
命令。
在Package Manager控制台窗口中,确保顶部的“Package Source”下拉列表设置为“All”,并将“Default Project”设置为项目名称
答案 3 :(得分:2)
与@Keith类似,它是2017年项目文件中SemVer的结果。
在我使用的.csproj
文件中<PackageReference... Version="1.1.*" />
。当解决方案首次加载Package Manager时,输出以下内容:
Error occurred while restoring NuGet packages: The operation failed as details for project ProjectWebApi could not be loaded.
在VS 2017 15.2 (26430.14)
中它似乎没有引起任何实际问题,解决方案加载并构建得很好。如果更新的软件包版本可用但不在本地.nuget缓存中,则会将其作为解决方案启动的一部分进行下载和安装。我没有使用预发布测试或构建跟踪补丁号的元数据标签。
答案 4 :(得分:1)
试试这个:将项目的位置更改为更简单的位置。例如。把它放在桌面上。
可能的原因:也许它无法加载,因为路径是一个问题(包含空格,特殊字符等?)。
供参考:
我的老路:
C:\Users\Corey\Google Drive\College\Semesters\2018\Spring\CSIS 434 (Programming)\Projects\Project 1
我的新途径是:C:\Users\Corey\Desktop
结论:从安德鲁的解决方案来看,微软似乎还在努力解决这个问题。无论如何,这项工作可能对你有用!
答案 5 :(得分:1)
仅重新启动Visual Studio 2017即可解决此问题。
答案 6 :(得分:0)
由于VS2017对SemVer的支持不足,这件事发生在我身上。他们试图在project.json
个文件中开始支持它,但在翻译为.csproj
时,他们已经设法让某些东西破碎了。
我有:
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<Version>0.2.1-alpha</Version>
...
这部分得到VS2017的支持,因为它编译,但由于.NET的某些部分识别SemVer suffix,它会破坏NuGet并且还有许多其他问题。
修复是删除后缀:
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<Version>0.2.1</Version>
...
现在NuGet正常工作。
答案 7 :(得分:0)
我发现了另一个导致此错误的问题。
如果您为项目添加包详细信息并指定包含三位数的版本,例如1.0.0
,您将收到此错误。
如果您将版本指定为1.0.0.0
,则解决方案将完美构建。我想这会破坏som内部验证,因为这也会在csproj文件中设置Version
。
TL; DR:
执行:<Version>1.0.0.0</Version>
不要:<Version>1.0.0</Version>
更新:请参阅Keith的回答。
答案 8 :(得分:0)
确保{。1}}标记值与.csproj中的AssemblyName
标记值相同。这对我有用!
答案 9 :(得分:0)
对我来说,解决方案路径中有一个撇号和一个空格(C:/ Users / [myName]的PC /等)。我将路径更改为仅C:/,并且有效:)
答案 10 :(得分:0)
我在Nuget恢复的构建服务器上遇到了这个问题。我发现,构建管道使用了旧版本的Nuget,并且在升级Visual Studio之后就中断了。更新Nuget版本可以为我解决