【发布时间】:2020-01-20 04:28:43
【问题描述】:
我正在使用自包含部署并使用一些 3rd 方库(如 log4net 和 Newtonsoft.Json)来部署 .Net core 2.2 控制台应用程序。该应用程序在其开发的系统上运行良好,但在部署到任何其他系统时无法运行。显示以下错误:
C:\Users\shubhamjain\source\repos\Collect\Collect\bin\Release\netcoreapp2.2\win-x64>Collect.exe
错误: 未找到应用程序依赖项清单 (Collect.deps.json) 中指定的程序集: 包:'Newtonsoft.Json',版本:'12.0.2' 路径:'lib/netstandard1.3/Newtonsoft.Json.dll'
我尝试了以下方法:
- 从 2.1 和 2.2 更改 .Net 核心版本
- 从 nuget 更改 Newtonsoft.Json 的版本
- 更新 Visual Studio 2019
没有任何效果,但是当我查看文件(路径 C:\Users\shubhamjain\source\repos\Collect\Collect\bin\Release\netcoreapp2.2\win-x64 中的“Collect.runtimeconfig.dev.json”)并使用部署的系统用户名更改 shubhamjain 时,一切正常。
现在,我观察到
Newtonsoft.Json取决于文件 (.runtimeconfig.dev.json),为了使其正常工作,我必须更改此文件中的用户名。有没有办法自动解决这个问题?
Collect.runtimeconfig.dev.json:
{
"runtimeOptions": {
"additionalProbingPaths": [
"C:\\Users\\shubhamjain\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\shubhamjain\\.nuget\\packages",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" ]
}
}
【问题讨论】:
标签: c# .net .net-core json.net