Asp.net .net core 2应用程序成功运行,但发布的应用程序未运行

Asp.net .net core 2应用程序成功运行,但发布的应用程序未运行,asp.net,linux,.net-core,publish,Asp.net,Linux,.net Core,Publish,我正试图将我的asp.NETCore2应用程序发布到DebianLinux,但我遇到了麻烦 在试图理解这个问题的同时,我在bash(linux的windows子系统,Ubuntu)中创建了一个空的控制台应用程序,我成功地运行了它,发布了它,运行了发布的文件,但失败了 /mnt/c/Work/Temp/lin2# dotnet new Console /mnt/c/Work/Temp/lin2# dotnet run Hello World! /mnt/c/Work/Temp/lin2# dotn

我正试图将我的asp.NETCore2应用程序发布到DebianLinux,但我遇到了麻烦

在试图理解这个问题的同时,我在bash(linux的windows子系统,Ubuntu)中创建了一个空的控制台应用程序,我成功地运行了它,发布了它,运行了发布的文件,但失败了

/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.
设置了
Exe
(默认情况下),但编译的程序集具有
dll
文件扩展名。
我尝试用谷歌搜索如何创建
exe
文件,但大多数响应都与旧的
project.json
格式有关。

对于自包含式部署,工具将生成一个可执行文件,其中包含一个主机,该主机将加载运行时,而dll包含要运行的托管代码。您试图调用无法运行的dll文件。相反,应该有一个无扩展的ELF可执行文件:

# /mnt/c/Temp/lin2/lin2