【问题标题】:Nuget Package - Properties - Path is not setNuget 包 - 属性 - 未设置路径
【发布时间】:2019-12-14 20:57:39
【问题描述】:

我在 Visual Studio 2019 中有一个解决方案,引用了几个 nuget 包。

在列表的更下方,是一个包 Microsoft.Extensions.DependencyInjection.Abstractions,它似乎已损坏。

查看它的属性,我看到存储库的路径是空的,版本也是0:

我已经尝试过卸载和安装以及命令行中的 -reinstall 选项:

不幸的是,结果相同。

感谢任何输入。

【问题讨论】:

  • 如果是提示路径问题,重新安装应该已修复,但请检查您的 csproj 并检查 dll 的提示路径是否与解决方案包文件夹中的 dll 正确。项目系统无法在磁盘上找到 dll 是我知道它不显示程序集属性的唯一原因。假设您正在调查此问题的原因是因为您的项目没有正确构建或运行,迁移到 PackageReference 会使这个提示路径类问题消失。

标签: visual-studio nuget nuget-package visual-studio-2019


【解决方案1】:

属性窗口(UI)中的内容与您的项目文件中的内容相对应。似乎由于某种原因您的项目无法成功加载程序集。请检查项目文件中的参考格式。

打开您的项目文件并检查对Microsoft.Extensions.DependencyInjection.Abstractions 包的引用。

确保其格式为:

    <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.2.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
    </Reference>

我假设您可能修改了项目文件并且不小心更改了正确的格式,对我来说,我只是将版本从 2.2.0.0 更改为 0.0.0.0 并获得相同的行为。

另外,由于您使用的是 Packages.config 格式,请确保其中的格式正确:&lt;package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="2.2.0" targetFramework="net472" /&gt;

【讨论】:

  • 感谢您的意见。这是很好的输入,但在我的情况下,原因是不同的。请参阅下面的答案。
【解决方案2】:

我可以通过将存储库从我的用户文件夹移动到我创建的新文件夹来解决这个问题。为了简短起见,我将其命名为C:\R\。

似乎无法解析冗长的文件路径。 Microsoft.Extensions.DependencyInjection.Abstractions 是名称最长的 nuget 包,这让我们想到它可能与某些路径问题有关。

将存储库移至C:\R\ 后一切正常。

【讨论】:

  • 您好,感谢您的分享,请将您的回复标记为答案,这将有助于其他社区成员更轻松地搜索此有用信息。这只是一个提醒:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-07
  • 2011-08-13
  • 2018-03-21
  • 1970-01-01
  • 2010-11-09
  • 2014-07-15
  • 1970-01-01
相关资源
最近更新 更多