【问题标题】:I have created HelloWorld console application using .net core 3.1 Which file should I deploy to Linux so that I can run the console application there?我已经使用 .net core 3.1 创建了 HelloWorld 控制台应用程序,我应该将哪个文件部署到 Linux 以便可以在那里运行控制台应用程序?
【发布时间】:2020-03-09 18:08:36
【问题描述】:

我已经使用 .net core 3.1 创建了 HelloWorld 控制台应用程序,我应该将哪个文件(.dll 或 exe)部署到 Linux 以便可以在那里运行控制台应用程序?我已将此应用程序发布为自包含并将 HelloWorld.dll 文件复制到 Redhat Linux 并收到错误“-bash: HelloWorld.dll: command not found”

【问题讨论】:

  • .exe 文件是可执行文件。
  • 我认为您不能将 .exe 或 .dll 文件部署到 linux。那些听起来像 Windows 可执行文件,Linux 会有自己的(我相信 .a)。
  • @RobertHarvey 他正试图在 Linux 上运行它。
  • 您是在复制 /publish 目录的输出吗?见stackoverflow.com/a/59563968/105566
  • 我试图将整个发布文件夹复制到Linux,它没有工作

标签: c# cross-platform asp.net-core-3.1


【解决方案1】:

使用--runtime 标志和dotnet build 指定运行时

dotnet build --runtime rhel.7-x64

【讨论】:

  • 所以我这样做了,它构建成功。那么我应该将 rhel.7-x64 文件复制到 Linux 吗?
  • 抱歉更新晚了,这行得通。我将目标发布设置为 linux-x64。这创建了一个文件夹 linux-x64 并将整个文件夹粘贴到 Linux 中。运行成功。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-11
  • 2019-01-26
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多