我编辑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
8 回答
我已经多次面对这个问题了,除了一个之外的所有问题都是通过关闭然后重新启动Visual Studio 2017来解决的 . 所以如果你没有,请尝试重新启动VS,然后如果失败,寻找更严肃的解决方案 .
我刚遇到同样的问题 . 微软显然已经意识到了这个问题,并在下一版本的预览中已经修复,详情请见以下注释:
https://developercommunity.visualstudio.com/comments/31393/view.html
与此同时,解决方法是打开VS2017(无需加载解决方案),打开软件包管理器控制台,等待它完全加载,然后打开解决方案 .
我在VS 2017中遇到了同样的问题,并提供了最新的.NET SDK更新 . 但这是一个我能够找到的快速简便的解决方案 .
当您的项目打开时,打开'Package Manager Console'然后运行
'dotnet restore'
命令 .在“程序包管理器控制台”窗口中,确保顶部的“程序包源”下拉列表设置为“全部”,并将“默认项目”设置为项目名称
与@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缓存中,则会将其作为解决方案启动的一部分进行下载和安装 . 我没有测试预发布或构建跟踪补丁号的元数据标签 .由于VS2017对SemVer的支持不力,这件事发生在我身上 . 他们试图在
project.json
文件中开始支持它,但是当转换为.csproj
时,他们已经设法做了一些非常破碎的事情 .我有:
VS2017部分支持这一点,因为它编译,但由于.NET的某些部分识别SemVer suffix,它会破坏NuGet并且还有许多其他问题 .
修复是删除后缀:
现在NuGet工作 .
我发现了另一个导致此错误的问题 .
如果您为项目添加包详细信息并指定具有三位数的版本,例如
1.0.0
,您将收到此错误 .如果您将版本指定为
1.0.0.0
,则解决方案将完美构建 . 我想这会破坏som内部验证,因为这也会在csproj文件中设置Version
.TL; DR:
做:
<Version>1.0.0.0</Version>
不要:
<Version>1.0.0</Version>
更新:请参阅基思的回答 .
可能的解决方法
Try This: 将项目的位置更改为更简单的位置 . 例如 . 把它放在桌面上 .
可能的原因:也许它无法加载,因为路径是一个问题(包含空格,特殊字符等?) .
以供参考:
我的老路:
C:\Users\Corey\Google Drive\College\Semesters\2018\Spring\CSIS 434 (Programming)\Projects\Project 1
我的新路径是:
C:\Users\Corey\Desktop
结论:从安德鲁的解决方案来看,微软仍然试图解决这个问题 . 无论如何,这项工作可能对你有用!
确保
AssemblyName
标记值与.csproj中的RootNamespace
标记值相同 . 这对我有用!