【问题标题】:VS2017 The operation failed as details for project could not be loadedVS2017 操作失败,无法加载项目的详细信息
【发布时间】:2020-03-19 19:42:05
【问题描述】:

我编辑 project.csproj。并重新打开出现错误的解决方案: 由于无法加载项目 xxx 的详细信息,操作失败

我尝试删除 obj & bin 文件夹,通过 tool>options 清除 nuget 缓存。 但错误依然存在。

备注:错误不是每次都出现,我只是重启项目3次。第一个和第二个是正确的。但第三个错误发生

vs2017: 微软 Visual Studio 社区 2017 版本 15.0.26228.9 D15RTWSVC 微软 .NET 框架 版本 4.6.01586

包管理器控制台主机版本 4.0.0.2323

【问题讨论】:

    标签: nuget visual-studio-2017


    【解决方案1】:

    我曾多次遇到此问题,只需关闭然后重新启动 Visual Studio 2017,即可解决所有问题。所以如果你还没有,请尝试重新启动 VS,如果失败,请寻找更严重的解决方案。

    【讨论】:

      【解决方案2】:

      我也遇到了同样的问题。微软显然已经意识到了这个问题,并已在下一个版本的预览版中修复,详情请参阅以下评论:

      https://developercommunity.visualstudio.com/comments/31393/view.html

      同时,解决方法是打开 VS2017(不加载您的解决方案),打开包管理器控制台,等待它完全加载,然后打开您的解决方案。

      【讨论】:

      • 从版本15.0.26906.1升级到15.0.26923.0出现这个错误。
      • 我有 15.3.5,我仍然看到这个。这是怎么回事。 Nuget 表示 15.3 支持 SEMVER 2.0 blog.nuget.org/20170815/…
      • 我现在在 15.4.2 看到这个问题。
      • 我们的一位团队成员更新到版本 15.5.6 后,他开始收到此错误消息。他的项目路径中的一个目录中有一个撇号。他将解决方案移至没有非字母字符的目录,并修复了错误。奇怪的是,我的路径中有一个下划线,我的构建/恢复工作得很好。我猜现在某些字符在完整路径中是非法的。
      • 我在 15.7.4 得到它
      【解决方案3】:

      我在 VS 2017 中使用最新的 .NET SDK 更新遇到了同样的问题。但这是我能够找到的快速简便的解决方法。

      当您的项目打开时,打开您的“包管理器控制台”,然后运行'dotnet restore' 命令。

      在包管理器控制台窗口中,确保顶部的“包源”下拉菜单设置为“全部”,并将“默认项目”设置为您的项目名称

      【讨论】:

      • 即使在 VS 2019 中,同样的错误和解决方法也需要多次。我不得不经常为大型项目这样做。
      【解决方案4】:

      只需重新启动 Visual Studio 2017 即可解决此问题。

      【讨论】:

      • 您的回答与this one有何不同?
      【解决方案5】:

      与 @Keith 类似,这是我 2017 年项目文件中 SemVer 的结果。

      .csproj 文件中,我使用的是<PackageReference... Version="1.1.*" />。当解决方案首次加载包管理器时,会输出以下内容:

      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 缓存中,则会在解决方案启动过程中下载并安装它。我没有在补丁号后面使用预发布或构建元数据标签进行测试。

      【讨论】:

      • 更新:自从Visual Studio 2017 15.3.1 发布以来,解决方案资源管理器可以更好地处理引用包中的浮动依赖项而不会出错。如果您使用 .NET Core 项目的“编辑 .csproj”功能手动更改包版本,UI 可能会显示警告感叹号,但卸载和重新加载项目会删除这些警告。
      【解决方案6】:

      由于 VS2017 对 SemVer 的支持不佳,这发生在我身上。他们试图在 project.json 文件中开始支持它,但是当翻译成 .csproj 时,他们设法让一些东西变得非常糟糕。

      我有:

      <Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web">
        <PropertyGroup>
          <Version>0.2.1-alpha</Version>
          ...
      

      VS2017 部分支持,因为它可以编译,但它会破坏 NuGet 并且由于 .NET 的某些部分识别 SemVer suffix 而存在许多其他问题。

      解决方法是删除后缀:

      <Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web">
        <PropertyGroup>
          <Version>0.2.1</Version>
          ...
      

      现在 NuGet 可以工作了。

      【讨论】:

      • 也许使用VersionPrefixVersionSuffix 元素?
      • @StephenDrew 这些听起来像是解决此问题的方法。 VS2015 和 VS2017RC1 项目使用 project.json 和 SemVer 编号,升级到 MyApp.csproj 保留完整的 SemVer 编号(它不支持)但应该拆分出 VersionSuffix
      • 没有帮助,因为我的 csproj 文件中什至没有版本标签:/ 但我运行最新的 VS2017 时出现该错误。
      • @Pascal 为这个项目修复了它。我想这种症状可能有不止一个原因。
      • 可能是 Keith,我只是为通用类库(csproj 文件)获取它,而那些项目文件几乎是空的......
      【解决方案7】:

      可能的解决方法

      试试这个:将项目的位置更改为更简单的位置。例如。把它放在你的桌面上。

      可能的原因:可能因为路径问题(包括空格、特殊字符等?)而无法加载。

      供参考:
      我的老路: C:\Users\Corey\Google Drive\College\Semesters\2018\Spring\CSIS 434 (Programming)\Projects\Project 1
      我的新路径是:C:\Users\Corey\Desktop

      结论: 从 Andrew 的解决方案来看,微软似乎仍在努力解决这个问题。无论如何,这种解决方法可能对您有用!

      【讨论】:

      • 科里,你在 CSIS 434 的表现如何?
      【解决方案8】:

      我在 Nuget 还原的构建服务器上遇到了这个问题。我发现构建管道使用的是旧版本的 Nuget,并在升级 Visual Studio 后中断。更新 Nuget 版本为我解决了这个问题

      【讨论】:

      • 您是如何在构建管道上更新 Nuget 版本的?
      • @BHANG 我使用 Azure Pipelines:添加任务 NuGet tool installer。它允许您指定管道应使用的 NuGet 版本。
      【解决方案9】:

      我还发现了另一个导致此错误的问题。

      如果您为项目添加包详细信息并使用三位数指定版本,例如1.0.0,您将收到此错误。

      如果您将版本指定为1.0.0.0,则解决方案将完美构建。我想这会破坏 som 内部验证,因为这也会在 csproj 文件中设置 Version

      TL;DR:

      做:&lt;Version&gt;1.0.0.0&lt;/Version&gt;

      不要:&lt;Version&gt;1.0.0&lt;/Version&gt;

      更新:另请参阅 Keith 的回答。

      【讨论】:

        【解决方案10】:

        确保AssemblyName 标记值与.csproj 内的RootNamespace 标记值相同。这对我有用!

        【讨论】:

          【解决方案11】:

          对我来说,解决方案路径中有一个撇号和一个空格(C:/Users/[myName]'s PC/etc)。我将路径更改为 C:/ 并且它有效:)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-07-23
            • 1970-01-01
            • 2016-07-11
            • 1970-01-01
            • 2018-06-20
            • 1970-01-01
            • 2022-09-28
            • 2013-11-01
            相关资源
            最近更新 更多