安装的 nuget 包缺少文件
Installed nuget package is missing files
我在我的项目中使用了一个 nuget,它应该在 0.10.4 版本中有一个名为 ChartJs.Blazor.ChartJS.Common.Time
的命名空间。出于某种原因,它告诉我命名空间不存在。我 100% 确定它确实如此,原因如下:
- 我自己发布了那个 nuget 并对其进行了测试。
- 从 nuget.org 下载 nuget 并使用 7-zip 打开 nupkg 文件进行检查时,我可以在文件夹
lib
中找到用于 nuget 的 dll。如果我将该 dll 复制到 nupkg 之外并直接引用它(而不是 nuget),它一切正常并且代码编译。
- 我还用 ILSpy 查看了 dll(上面提到的提取),可以确认命名空间及其文件确实存在。
绝对没有任何迹象表明这些文件不存在。
由于我用相同的包版本进行了一些手动测试,但包内容实际上不同,我怀疑是缓存问题。但是,我已经尝试了一些以前曾帮助我解决类似问题的方法,但这次 none 成功了:
- 删除
%userprofile%\.nuget\packages
中对应的文件夹
- 删除所有
bin
和 obj
(以及 .vs
)文件夹。
- 删除所有临时文件(使用内置的windows工具)
仅供参考,%appdata%/NuGet
没有任何有趣的内容。
有谁知道问题可能是什么以及如何解决?当前的解决方法是直接包含 dll,但这并不好。
Ps。安装的 NuGet 版本是 5.1.0.6013
但我通常只使用集成了 nuget 的 Visual Studio 2019。
编辑:
通过 nuget 使用的库是 targeting netstandard2.0
(标准库)。消费项目的目标是 netcoreapp3.0
(asp.net 核心 ss-blazor)。这本身应该不是问题。
这确实是一个缓存问题 - 令人遗憾的是,为了这么简单的事情浪费了多少时间。尽管我认为我清除了所有缓存,但我遗漏了一些文件夹(为什么 nuget 使用了这么多文件夹?)。解决方案是使用 nuget locals all -clear
清除 所有 缓存,这在 .
中也有描述
清除缓存,孩子们。
我在我的项目中使用了一个 nuget,它应该在 0.10.4 版本中有一个名为 ChartJs.Blazor.ChartJS.Common.Time
的命名空间。出于某种原因,它告诉我命名空间不存在。我 100% 确定它确实如此,原因如下:
- 我自己发布了那个 nuget 并对其进行了测试。
- 从 nuget.org 下载 nuget 并使用 7-zip 打开 nupkg 文件进行检查时,我可以在文件夹
lib
中找到用于 nuget 的 dll。如果我将该 dll 复制到 nupkg 之外并直接引用它(而不是 nuget),它一切正常并且代码编译。 - 我还用 ILSpy 查看了 dll(上面提到的提取),可以确认命名空间及其文件确实存在。
绝对没有任何迹象表明这些文件不存在。
由于我用相同的包版本进行了一些手动测试,但包内容实际上不同,我怀疑是缓存问题。但是,我已经尝试了一些以前曾帮助我解决类似问题的方法,但这次 none 成功了:
- 删除
%userprofile%\.nuget\packages
中对应的文件夹
- 删除所有
bin
和obj
(以及.vs
)文件夹。 - 删除所有临时文件(使用内置的windows工具)
仅供参考,%appdata%/NuGet
没有任何有趣的内容。
有谁知道问题可能是什么以及如何解决?当前的解决方法是直接包含 dll,但这并不好。
Ps。安装的 NuGet 版本是 5.1.0.6013
但我通常只使用集成了 nuget 的 Visual Studio 2019。
编辑:
通过 nuget 使用的库是 targeting netstandard2.0
(标准库)。消费项目的目标是 netcoreapp3.0
(asp.net 核心 ss-blazor)。这本身应该不是问题。
这确实是一个缓存问题 - 令人遗憾的是,为了这么简单的事情浪费了多少时间。尽管我认为我清除了所有缓存,但我遗漏了一些文件夹(为什么 nuget 使用了这么多文件夹?)。解决方案是使用 nuget locals all -clear
清除 所有 缓存,这在
清除缓存,孩子们。