如何在Linux上运行.Net核心控制台应用程序

Ale*_*lex 32 c# .net-core ubuntu-16.04

我正在使用Visual Studio 2015.并创建.net核心控制台应用程序.在调试文件夹中编译后,我有我的项目DLL.如果我想在另一台计算机上运行它,我必须在其上安装dotnet,然后在cmd dotnet myApp.dll中写入.但是我需要运行我的应用程序而不需要任何安装.

我已经读过,我必须发布我的应用程序.我用命令dotnet publish -c Release来做.现在在文件夹发布中,我使用myApp.dll和其他dll文件和文件夹运行时为不同的系统发布新文件夹.例如在Ubuntu.16.04-x64文件夹中,我有文件System.Security.Cryptography.Native.OpenSsl.so.但是如何在没有任何新安装的dotnet或其他东西的情况下运行我的应用程序?

Har*_*mar 56

按照以下步骤运行您的应用程序:

1)将您的应用程序发布为自包含的应用程序:

dotnet publish -c release -r ubuntu.16.04-x64

2)将发布文件夹复制到ubuntu机器

3)打开ubuntu机器终端(CLI)并转到项目目录

4)提供执行权限:

chmod 777 ./appname

5)执行申请

./appname

  • 人们应该只 chmod 到最少需要的权限。777 允许任何人读取、写入和执行该文件,我不推荐它...... (9认同)
  • 我无法在 ubuntu 上执行 dll 文件 (3认同)
  • 正如我上面所说,复制发布文件夹,您会在该发布文件夹中找到 CrossPlatformInstaller 文件。您正在检查 ubuntu.16.04-x64 中的文件,这是不对的。CrossPlatformInstaller(无扩展名)文件位于发布文件夹内。 (2认同)

归档时间:

查看次数:

34810 次

最近记录:

7 年,10 月 前