gpt4 book ai didi

json.net - 不同的 Newtonsoft.Json.dll dotnet 发布与使用 Visual Studio 发布

转载 作者:行者123 更新时间:2023-12-05 07:07:48 32 4
gpt4 key购买 nike

我有一个目标框架 .netcoreapp2.0.NET Core Web 应用程序

如果我通过 Visual Studio(文件夹配置文件)发布我的应用程序,我会得到一个不同的 Newtonsoft.Json.dll 然后使用命令 dotnet publish --configuration Release --output D:/发布/前端/property:PublishWithAspNetCoreTargetManifest=false

VS 发布版本:

VS publish version

dotnet 发布版本:

enter image description here

创建的文件 AutomaticConfirmationWebfrontend.deps.json 始终具有这种依赖性:

"runtime": {
"lib/netstandard1.3/Newtonsoft.Json.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.1.20720"
}
}

这会导致我的 CI/CD 过程出现问题,在该过程中我使用命令 dotnet publish 发布了我的应用程序。如果我打开该网站,我会收到一条错误消息,提示找不到程序集 Newtonsoft.JSON 10.0.0.0。如果我手动将版本为 10.0.0.0 的 DLL 复制到应用程序文件夹,它就可以工作了!在本地调试我的应用程序也能正常工作!

我没有安装 Newtonsoft NuGet 包。我想我正在使用 .NET Core 的内置包。

在我的 Startup.cs 中,我有以下代码行:

services.AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());

我需要这个用于小写 JSON 对象。我已经导入了这个命名空间:

using Newtonsoft.Json.Serialization

有人知道我做错了什么或如何解决这个问题吗?

最佳答案

我做了 3 个步骤:

  1. 升级到netcoreapp3.1
  2. C:\Users\******\.nuget\packages 中删除了所有 nuget 包
  3. 安装了最新的 MSBuild 安装程序

关于json.net - 不同的 Newtonsoft.Json.dll dotnet 发布与使用 Visual Studio 发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62019183/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com