繁体   English   中英

安装 nuget package 缺少文件

[英]Installed nuget package is missing files

我在我的项目中使用了 nuget,它应该有一个名为ChartJs.Blazor.ChartJS.Common.Time的命名空间,版本为 0.10.4。 出于某种原因,它告诉我命名空间不存在。 我 100% 确定确实如此,原因如下:

  • 我自己发布了 nuget 并对其进行了测试。
  • When downloading the nuget from nuget.org and inspecting the nupkg-file by opening it with 7-zip, I can find the dll used for the nuget in the folder lib . 如果我将 dll 复制到 nupkg 之外并直接引用它(而不是 nuget),则一切正常并且代码可以编译。
  • 我还用 ILSpy 查看了 dll(上面提到的提取),可以确认命名空间及其文件确实存在。

绝对没有任何地方没有这些文件的迹象。

由于我使用相同的 package 版本进行了一些手动测试,但 package 的内容实际上不同,我怀疑缓存问题。 但是,我已经尝试了一些以前帮助我解决类似问题的方法,但这次它们都没有起作用:

  • 删除%userprofile%\.nuget\packages中对应的文件夹
  • 删除所有binobj (和.vs )文件夹。
  • 删除所有临时文件(使用内置的 windows 工具)

仅供参考, %appdata%/NuGet没有什么有趣的。

有谁知道问题可能是什么以及如何解决? 当前的解决方法是直接包含 dll 但这不是很好。

附言。 安装的 NuGet 版本是5.1.0.6013但我通常只使用集成了 nuget 的 Visual Studio 2019。

编辑:
通过 nuget 使用的库针对的是netstandard2.0 (标准库)。 消费项目的目标是netcoreapp3.0 (asp.net core ss-blazor)。 仅这一点不应该是一个问题。

这确实是一个缓存问题 - 令人遗憾的是 go 可以浪费多少时间来做这么简单的事情。 即使我认为我清除了所有缓存,我还是错过了一些文件夹(为什么 nuget 使用这么多的文件夹?)。 解决方案是使用nuget locals all -clear清除所有缓存,此答案中也对此进行了描述。

清除缓存,孩子们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM