JDB*_*ett 5 configuration runtime asp.net-core
几天来,我一直在寻找在 Azure 应用服务上运行的 AspNetCore Web api 项目的问题。
基本上我有一个非常小的 api 项目,在部署/启动时 - 我收到 500.30 ANCM 错误。足够隐秘 - 我从应用程序服务中提取事件日志,我发现:
<Data>Could not find inprocess request handler.
Captured output from invoking hostfxr: Error:
An assembly specified in the application dependencies manifest
(SampleApp.Api.deps.json) was not found:
package: 'System.Data.SqlClient', version: '4.6.1'
path: 'runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll'
</Data>
Run Code Online (Sandbox Code Playgroud)
查看 SampleApp.deps.json - 果然我看到了:
"runtimeTargets": {
"runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "4.5.0.1",
"fileVersion": "4.6.27618.1"
},
"runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.5.0.1",
"fileVersion": "4.6.27618.1"
}
},
Run Code Online (Sandbox Code Playgroud)
我有一个类似(几乎相同)的项目,它在另一个应用程序服务上运行良好。如果运行
dotnet publish -c release /property:PublishWithAspNetCoreTargetManifest=true
Run Code Online (Sandbox Code Playgroud)
(与我遇到问题的应用程序一起运行的相同发布命令)
我在otherapp.deps.json文件的运行时目标部分中根本没有看到此部分。
这是从哪里来的,我该如何摆脱它?
我也有类似的情况
对我有用的是跑步dotnet publish cli-proj -r win-x64。这将创建一个独立的捆绑包,它不依赖于任何已安装的运行时。然后我的部署将从我的网络服务器中获取所有文件bin/debug/netcoreapp3.1/win-x64/publish并将它们推送到我的网络服务器。
我确信安装的运行时应该提供这些文件,但它似乎工作得不太好。这“解决”了我的问题。
| 归档时间: |
|
| 查看次数: |
1621 次 |
| 最近记录: |