ca9*_*3d9 1 c# linux .net-core
我在Visual Studio中创建了一个.Net核心C#控制台应用程序,并使用以下步骤在Linux上进行测试.
....\bin\Release\netcoreapp2.1\publish
.chmod 777 myApp.dll
./myApp.dll
但是,执行应用程序会显示错误
-bash:./ myApp.dll:无法执行二进制文件
看起来你做了一个Framework-Dependendent部署.从本质上讲,发布命令是:
dotnet publish -c Release
Run Code Online (Sandbox Code Playgroud)
FDD假定您将拥有.NET Core运行时以在目标平台上运行您的应用程序.
将publish
目录复制到另一台计算机(可能是Linux,macOS或Windows)后,您的应用程序仍需要.NET Core运行时来运行您的应用程序.
安装.NET Core运行时取决于您使用的特定Linux发行版.安装完成后,您可以通过执行以下操作来运行应用程序:
dotnet /path/to/publish/myApp.dll
Run Code Online (Sandbox Code Playgroud)
框架相关部署的替代方案是自包含部署.在此模式下,已发布的应用程序将包含您的应用程序以及.NET Core运行时的副本.在命令行上,执行SCD发布如下所示:
dotnet publish -r linux-x64 -c Release
Run Code Online (Sandbox Code Playgroud)
要在Visual Studio中执行此操作,请参阅上面的链接.然后,您应该看到bin\Release\netcoreapp2.1\linux-x64\publish\
包含myApp
文件的目录.您可以将此发布目录复制到Linux发行版,然后运行:
/path/to/linux-x64/publish/myApp
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1226 次 |
最近记录: |