【发布时间】:2019-10-16 18:12:37
【问题描述】:
我在我的项目中使用了一个 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(上面提到的提取),可以确认命名空间及其文件确实存在。
绝对没有任何地方没有这些文件的迹象。
由于我使用相同的包版本进行了一些手动测试,但包内容实际上不同,我怀疑缓存问题。但是,我已经尝试了一些以前帮助我解决类似问题的方法,但这次都没有成功:
- 删除
%userprofile%\.nuget\packages中对应的文件夹 - 删除所有
bin和obj(和.vs)文件夹。 - 删除所有临时文件(使用内置的 windows 工具)
仅供参考,%appdata%/NuGet 没有任何有趣的内容。
有谁知道问题可能是什么以及如何解决?当前的解决方法是直接包含 dll,但这不是很好。
附言。安装的 NuGet 版本是5.1.0.6013,但我通常只使用集成了 nuget 的 Visual Studio 2019。
编辑:
通过 nuget 使用的库的目标是 netstandard2.0(标准库)。消费项目的目标是netcoreapp3.0(asp.net core ss-blazor)。仅此一项不应该成为问题。
【问题讨论】:
-
这是你的图书馆吗?这可能是因为对 Microsoft.AspNetCore.Components.Web 的依赖可能需要使用 FrameworkReference 而不是 Package 引用。结帐docs.microsoft.com/en-us/aspnet/core/migration/… 以进行多目标
-
是的,这是我的图书馆。这是一个缓存问题(怀疑)。我添加了一个答案来清除它,但还不能接受:/
标签: c# nuget nuget-package