.net core 2 应用程序 运行s 成功但发布的应用程序没有 运行
.net core 2 application runs successfully but the published app does not run
我正在尝试将我的 asp.net 核心 2 应用程序发布到 debian linux,但我遇到了麻烦。
在尝试理解问题时,我在 bash(linux、Ubuntu 的 windows 子系统)中创建了一个空的控制台应用程序,我 运行 它成功了,我发布了它和 运行 发布的文件,它失败了。
/mnt/c/Work/Temp/lin2# dotnet new Console
/mnt/c/Work/Temp/lin2# dotnet run
Hello World!
/mnt/c/Work/Temp/lin2# dotnet publish -c Release --self-contained --runtime linux-x64 -o /mnt/c/Temp/lin2
/mnt/c/Work/Temp/lin2# /mnt/c/Temp/lin2/lin2.dll
Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The module was expected to contain an assembly manifest.
<OutputType>Exe</OutputType>
已设置(默认情况下),但编译后的程序集具有 dll
文件扩展名。
我尝试 google 如何创建 exe
文件,但大多数回复都与旧的 project.json
格式有关。
对于自包含部署,该工具将生成一个可执行文件,其中包含一个主机,该主机将加载 运行time 和包含托管代码的 dll 到 运行。您试图调用 运行 无法调用的 dll 文件。相反,应该有一个无扩展的 ELF 可执行文件:
# /mnt/c/Temp/lin2/lin2
我正在尝试将我的 asp.net 核心 2 应用程序发布到 debian linux,但我遇到了麻烦。
在尝试理解问题时,我在 bash(linux、Ubuntu 的 windows 子系统)中创建了一个空的控制台应用程序,我 运行 它成功了,我发布了它和 运行 发布的文件,它失败了。
/mnt/c/Work/Temp/lin2# dotnet new Console
/mnt/c/Work/Temp/lin2# dotnet run
Hello World!
/mnt/c/Work/Temp/lin2# dotnet publish -c Release --self-contained --runtime linux-x64 -o /mnt/c/Temp/lin2
/mnt/c/Work/Temp/lin2# /mnt/c/Temp/lin2/lin2.dll
Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The module was expected to contain an assembly manifest.
<OutputType>Exe</OutputType>
已设置(默认情况下),但编译后的程序集具有 dll
文件扩展名。
我尝试 google 如何创建 exe
文件,但大多数回复都与旧的 project.json
格式有关。
对于自包含部署,该工具将生成一个可执行文件,其中包含一个主机,该主机将加载 运行time 和包含托管代码的 dll 到 运行。您试图调用 运行 无法调用的 dll 文件。相反,应该有一个无扩展的 ELF 可执行文件:
# /mnt/c/Temp/lin2/lin2