【问题标题】:Visual Studio/ NuGet missing referencesVisual Studio/NuGet 缺少引用
【发布时间】:2017-08-11 23:41:22
【问题描述】:

我的解决方案引用出现了一些问题,因为有人将 NuGet 搞砸了……从源代码管理中恢复会导致项目无法加载,我不得不试一试才能最终加载。当我终于能够让我的项目正确加载时(在头疼之后),我有一个相当大的实验性混乱需要清理,现在什么都没有构建。

Nuget 认为我的依赖项已安装。 Visual Studio 不同意。

我必须做些什么才能使 NuGet 和 Visual Studio 相互一致?

【问题讨论】:

    标签: visual-studio-2012 dependencies nuget


    【解决方案1】:

    这并不简单,但请尝试以下步骤:

    1. 在包管理器控制台中恢复您的 nuget 包
    2. 在记事本中打开 csproj 并检查路径是否正确。如果不修复它们。
    3. 如果上述步骤在包管理器控制台中不起作用,请重新安装所有包。
    4. 如果项目已打开,请卸载它,然后重新加载它。这会强制 Visual Studio 重新解析引用。

    解释:

    当 nuget 添加引用时,它会将其添加到 csproj 中,如下所示:

    <Reference Include="Newtonsoft.Json">
      <HintPath>..\packages\Newtonsoft.Json.4.5.9\lib\net40\Newtonsoft.Json.dll</HintPath>
    </Reference>
    

    这意味着包号在 HintPath 中。合并两个分支后,nuget 版本号可能会更改。这导致 HintPath 也应该更改为带有版本的正确路径。这就是为什么 Visual Studio 很难找到它们。

    【讨论】:

    • 你能解释一下你的答案吗?
    • 我基本上不得不重建整个 XML 文件。什么皮塔饼。
    • 在我的例子中,我将我的项目向下移动了一个文件夹,但没有在 nuget 引用库的 HintPath 中添加额外的“..\”。
    【解决方案2】:

    VisualStudio 2017)。这里的建议都不起作用...... - 直到我完全关闭 VisualStudio 并重新启动它。这比平时多花了几秒钟,但此后所有依赖项都恢复了!

    【讨论】:

      【解决方案3】:

      在 Visual Studio 2017 for Asp.Net Core 项目中,卸载然后重新加载 .csproj 文件就足够了

      【讨论】:

        【解决方案4】:

        在您的 Visual Studio 解决方案文件夹中,打开“包”文件夹并删除该文件夹内的所有内容。 然后恢复 nuget 包。

        【讨论】:

          猜你喜欢
          • 2016-06-25
          • 1970-01-01
          • 2014-06-22
          • 2015-11-10
          • 1970-01-01
          • 1970-01-01
          • 2017-06-14
          • 2015-11-02
          • 1970-01-01
          相关资源
          最近更新 更多