【问题标题】:NuGet packages not restore in visual studio 2017NuGet 包无法在 Visual Studio 2017 中恢复
【发布时间】:2017-08-23 06:08:18
【问题描述】:

我有 Asp.netCore 解决方案,它在 Visual Studio 2015 上运行良好,然后我转到 Visual Studio 2017。现在的问题是,在每个 nuget 包上的 Visual Studio 2017 中都有黄色感叹号。以下是我迄今为止尝试过的解决方案。

我正在使用Visual Studio Version: 15.3.1

  • 以“管理员”身份运行并恢复包。
  • Clear All Nugget Cache(s) 来自 Tools > options > NuGet Package Manager > 并再次恢复 Nuget。

注意:我已搜索并找到以下解决方案并尝试但没有解决我的问题。

Solution 1

【问题讨论】:

    标签: visual-studio-2017 nuget-package nuget-package-restore


    【解决方案1】:

    我在这里的另一个线程上找到了答案,应该归功于@AxelWass,尽管他没有特别关注这个问题,但它绝对解决了这个问题。上面的答案没有。


    我遇到了同样的问题,并通过在文本编辑器中打开项目并删除以下部分来解决它:

    <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
      <PropertyGroup>
         <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
       </PropertyGroup>
       <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
       <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
    </Target>
    

    一旦删除,它将解决这个 VS2017 和 PM 似乎无法解决的噩梦问题。我也多次遇到过这种情况——尤其是当我在同一个解决方案目录中混合许多项目时。

    【讨论】:

    • 另外,您可能还需要以管理员身份运行。但这行得通!
    • 这有多奇怪,我为此工作了好几个小时,并尝试了很多事情。很高兴我找到了这个解决方案
    【解决方案2】:

    正如Microsoft Installing and reinstalling packages with package restore Documentation中提到的,你应该Update-Package -reinstall

    Update-Package -reinstall -ProjectName &lt;project&gt; 命令在哪里 是受影响项目的名称,因为它出现在 解决方案资源管理器。单独使用Update-Package -reinstall恢复 解决方案中的所有包。

    如果您仍然有错误,请尝试编辑您的项目文件,检查那里是否存在路径引用错误,同时检查项目/解决方案 nuget 配置文件。

    【讨论】:

    • 这对我不起作用,我又遇到了同样的错误。
    【解决方案3】:

    默认情况下,新安装的visual studio没有配置包源在线搜索包。这导致了问题。

    我通过stackoverflow链接找到了答案:https://stackoverflow.com/a/32360953/1503372

    该答案提到使用“https://www.nuget.org/api/v2”网址来恢复包。当我在 Visual Studio 2017 中打开包管理器控制台时,我发现它仅在我的 PC 中搜索包(离线搜索)。

    然后我添加了“https://www.nuget.org/api/v2”网址作为恢复包的来源,它起作用了。

    按照以下步骤添加包源。

    1. Right click project > Manage nuget package and you will see "package source label".

    2. Add highlighted URL to package source.

    3. Select "All" as package source.

    一旦您将 Visual Studio 配置为在线搜索包,您的所有包都将被恢复。

    【讨论】:

    • 终于找到了适合我的解决方案!在全新的 VS2019 安装中。
    【解决方案4】:

    我在nuget.config 中发现了错误的配置。我不知道为什么,在这个文件中,我当前的项目有一些排除项。

    你可以在File Explorer看到你运行这个命令的全局配置

    %AppData%\NuGet\NuGet.Config

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-30
      相关资源
      最近更新 更多