Visual Studio 2022 找不到 nuget 包

Visual Studio 2022 can't find nuget package

我做错了什么?

我有一个 .net Standard 2.0 的 DLL,还有一个控制台应用程序,也是 .net standard 2.0。 DLL 最终将成为我的开发团队内部使用的自定义 nuget 包。

我安装了 System.Text.Json 版本 6.0.0,但出现以下运行时错误:

“无法加载文件或程序集‘System.Text.Json,版本=6.0.0.0”。

我可以在 Visual Studio 2022 查找的位置看到 nuget 包。

关于如何调试它有什么想法吗?

我尝试显式安装每个依赖项,但没有成功。

***编辑:我刚刚意识到,如果我将该包的 DLL 显式复制到控制台应用程序的执行目录中,我将不再获得该 FileNotFound 异常,但随后我为其依赖项之一获得了一个新的 FileNotFound 异常。当我显式复制该 DLL 时,我会为下一个依赖项获得另一个 FileNotFound 异常,依此类推。我只是假设依赖的 nuget 包会被封装在使用它们的 dll 中。复制每个相关的 DLL 并不是一个真正可接受的解决方案。

经过一番调查,我认为我的问题可能与以下方面有关:

Dependent DLLs of a NuGet package not copied to output folder

或相关:

MSBuild doesn't copy references (DLL files) if using project dependencies in solution

但事实并非如此。

我的控制台应用程序项目的输出是一个 DLL,即使它明确设置为“控制台应用程序”。我只是假设这是 VS2022 的新运行时方法,但事实并非如此。我的控制台应用程序 Target 设置为“.Net Standard 2.0”,用于 DLL。一旦我将目标设置为“.Net 6.0”,一切都按预期工作,并且所有 DLL 和包都被正确复制。

正在转换为 Nuget 包的我的 DLL 已正确设置为“.net Standard 2.0”。