我需要将一个简单的 .Net Core 控制台应用程序部署到 Linux 服务器,但遇到了一些问题。
我是这样创建一个简单的控制台 Hello World 应用程序的:
dotnet new console -o hello
然后我在我的开发电脑上测试了这个应用程序。
dotnet run
它正常运作。
接下来,我以这种方式在 Debian 平台上创建了发布版:
dotnet publish -c release -r debian.8-x64 --self-contained
现在我有一个分发文件夹。
C:\Projects\C#\hello\bin\MCD\release\netcoreapp2.0\debian.8-x64
我将debian.8-x64文件夹复制到了我的Debias 8操作系统的Linux计算机上。
找到要执行的文件(~/debian.8-x64/hello
)并更改其模式。
chmod +x ./hello
现在我正在尝试执行文件。
./hello
并且出现了异常
root@my2ndbox:/home/alex/temp/debian.8-x64# ./hello
Error:
An assembly specified in the application dependencies manifest (hello.deps.json) was not found:
package: 'runtime.linux-x64.Microsoft.NETCore.App', version: '2.0.0'
path: 'runtimes/linux-x64/lib/netcoreapp2.0/Microsoft.CSharp.dll'
在Linux机器上安装与我的开发计算机上相同版本的Net Framework。
root@my2ndbox:/home/alex/temp/debian.8-x64# dotnet --version
2.0.2
什么可能导致这种类型的错误?
/hello
目录中。 - Vasek