小编Nat*_*G-T的帖子

Newtonsoft.Json 依赖项未在“dotnetpublish-o<其他文件夹>”上以正确的版本发布

问题

\n

所以基本上,我正处于 DLL 地狱中。

\n

我有一个 dotnet 5.0 + React 项目,其中 C# 依赖项(我假设Microsoft.AspNetCore.Mvc.NewtonsoftJson)需要另一个依赖项Newtonsoft.Json

\n

在 bin 文件夹中以发布或调试方式构建和发布时,项目运行得非常好,并且所有依赖项和 .dll 均已正确加载。但一旦我使用该-o选项dotnet publish在发布的文件夹中创建的 Newtonsoft.Json.dll 的版本就是 9.0.0.0,这会在尝试在生产中运行服务器时引发错误,因为它预计它的版本是 12 .xxx

\n

我尝试过的

\n

目前我有一个修复程序,即独立构建 Newtsoft.Json dll 文件的正确版本(12.xxx 或更高版本),并在投入生产时将其放入已发布的文件夹中,但显然我想知道其他可能的修复或更直接的修复,而无需在生产中部署时执行额外的步骤,并帮助将来因此依赖项或其他依赖项而面临相同问题的人们。

\n
    \n
  • 我尝试在 .csproj 中明确包含正确版本的依赖项,但依赖项仍然在版本 9.0.0.0 中输出。
  • \n
  • 另一个修复方法是将 Microsoft.AspNetCore.Mvc.NewtonsoftJson 降级到接受 9.0.0.0 的版本,但这会带来一大堆蠕虫病毒
  • \n
  • 我尝试过清除我的 nuget 包,但这也不起作用。
  • \n
  • 我已经尝试过这个最近的堆栈溢出解决方案,OP 面临类似的问题,但他们将 False 添加到测试项目的修复对我不起作用,因为我的测试项目不使用 Newtonsoft.Json。
  • \n
\n

文件

\n
    \n
  • .csproj 中列出的依赖项
  • \n
\n
  <ItemGroup>\n    <PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="5.0.11" />\n …
Run Code Online (Sandbox Code Playgroud)

c# dll dependencies build production-environment

5
推荐指数
1
解决办法
791
查看次数

标签 统计

build ×1

c# ×1

dependencies ×1

dll ×1

production-environment ×1