我有一个带有目标框架.netcoreapp2.0的.NET Core Web 应用程序。
如果我通过 Visual Studio(文件夹配置文件)发布我的应用程序,我会得到一个不同Newtonsoft.Json.dll
的命令 dotnet publish --configuration Release --output D:/publish/Frontend /property:PublishWithAspNetCoreTargetManifest=false
VS发布版本:
dotnet 发布版本:
创建的文件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
有人知道我做错了什么或如何解决这个问题吗?