System.Text.Json(VSTO 插件)的文件未找到异常。 RestSharp升级?

问题描述 投票:0回答:1

我想要实现什么?

在我的 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>

--> 问题:正确吗?

我调查了是否有可用的dll:

答案是肯定的吗?

堆栈溢出:无法加载文件或程序集“System.text.json”,版本 4.0.1.0

--> 问题 我需要检查什么?

https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/#dependency-body-tab

--> 我使用 4.8.1

json .net vsto
1个回答
0
投票

我刚刚意识到有两种不同的选项来管理您的 NuPacket。

1.) 解决方案

2.) 项目

更新解决方案层上的信息后,一切都像魅力一样。

详细:

  1. 右键单击您的解决方案
  2. 像这样选择“Admin NuGet Packages”

  1. 除了项目布局上的相同内容之外,VisualStudio 现在指示 2 个包已过时且需要更新

  2. 在“已安装”选项卡上,我只需点击更新/安装

© www.soinside.com 2019 - 2024. All rights reserved.