在我的 VSTO Addin 中使用 System.Text.Json,该插件最近可以工作,但在我升级 RestSharp 后停止工作
2 在 Outlook 中以调试模式运行 VSTO 插件时出现异常: 第一:
FileNotFoundException:Die Datei oder Assembly“System.Text.Json,Version=8.0.0.2,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其他错误。 Das System kann die angegebene Datei nicht finden.
第二: FileNotFoundException:日期或程序集“System.Text.Json,Version=7.0.0.2,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其他错误。 Das System kann die angegebene Datei nicht finden.
简而言之: 找不到 System.Text.Json 的两个版本。 8.0.0.2 和 7.0.0.2
带有最新更新的 Visual Studio 2022。 项目设置:
是的,我意识到 7.0.2 != 7.0.0.2
这就是当我点击时项目的 Nu Packages 管理的样子:
是的,我已经尝试升级到 8.0.2,但这提供了相同的结果:
还是同样的问题
我更改了目标框架,发现更改目标框架可能会影响已安装的软件包的提示(这是我的 VisualStudio 2022 提供的链接:https://learn.microsoft.com/en-us/nuget/consume-packages /重新安装和更新软件包)。因此我删除了 RestSharp 和 System.Text.Json。然后搜索了RestSharp,发现它在目前的稳定版本110.2.0至少依赖于.Net Framework 4.7.1。因此,我在项目设置中切换到 .Net Tartgetframework 4.7.1,如下所示:
然后添加RestSharp。我自己安装了 System.Text.Json 7.0.2
异常仍然保持不变:
例外1:
FileLoadException:Die Datei oder Assembly“System.Text.Json,Version=8.0.0.2,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其他错误。装配清单的定义不符合装配规范。 (Ausnahme von HRESULT:0x80131040)
例外2:
FileLoadException:日期或程序集“System.Text.Json,Version=7.0.0.2,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其他错误。装配清单的定义不符合装配规范。 (Ausnahme von HRESULT:0x80131040)
至少这是一个小小的改进,因为错误消息更改为: 找不到文件 找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)
我仍然不明白的是,RestSharp 依赖于 7.0.2,但异常试图找到 7.0.0.2。请注意 7.0.0.2 != 7.0.2 是吗?
所以我调查了我的项目 csproj 文件:
并为 RestSharp 找到:
<Reference Include="RestSharp, Version=110.2.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
<HintPath>..\packages\RestSharp.110.2.0\lib\net471\RestSharp.dll</HintPath>
</Reference>
对于 System.Text.Json:
<Reference Include="System.Text.Json, Version=7.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.7.0.2\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
--> 问题:正确吗?
答案是肯定的吗?
堆栈溢出:无法加载文件或程序集“System.text.json”,版本 4.0.1.0
--> 问题 我需要检查什么?
https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/#dependency-body-tab
--> 我使用 4.8.1