在 Ubuntu 上运行独立的 ASP.NET Core 应用程序

2024-05-05

我已经发布了一个 ASP.NET Core 应用程序作为针对 Ubuntu 的独立应用程序。发布似乎工作正常。我已将这些文件复制到一台漂亮的 Ubuntu 机器上。现在,我如何运行我的应用程序?

我的理解是,因为它是一个独立的 .NET Core 应用程序,所以我do not需要下载并安装 .NET Core 的任何东西。我的应用程序应该包含它需要的一切。

所有教程似乎都说我应该打电话dotnet run。但是,“dotnet”命令行不存在(它应该发布到独立文件夹中吗??)所以如果我调用它,我会得到“命令未找到”。当然,我可以下载 .NET Core,但这是否违背了整个独立的概念?

这是我复制的文件示例:


Answer

现在,我如何运行我的应用程序?我的理解是,因为它是一个独立的 .NET Core 应用程序,所以我do not需要下载并安装 .NET Core 的任何东西。我的应用程序应该包含它需要的一切。

你是对的。运行可执行文件。

当您创建独立的应用程序时,发布输出“包含启动应用程序所需的完整文件集(包括您的应用程序文件和所有 .NET Core 文件)”。这包括可执行文件。

独立部署示例

这是输出dotnet publish -c release -r ubuntu.14.04-x64对于一个简单的独立应用程序。将发布目录复制到 Ubuntu 并运行可执行文件。

C:\MyApp\bin\release\netcoreapp1.0\ubuntu.14.04-x64\publish\

...

libsos.so
libsosplugin.so
libuv.so
Microsoft.CodeAnalysis.CSharp.dll
Microsoft.CodeAnalysis.dll
Microsoft.CodeAnalysis.VisualBasic.dll
Microsoft.CSharp.dll
Microsoft.VisualBasic.dll
Microsoft.Win32.Primitives.dll
Microsoft.Win32.Registry.dll
mscorlib.dll
mscorlib.ni.dll
MyApp                        <------- On Ubuntu, run this executable
MyApp.deps.json                       and you will see Hello World!
MyApp.dll
MyApp.pdb
MyApp.runtimeconfig.json
sosdocsunix.txt
System.AppContext.dll
System.Buffers.dll
System.Collections.Concurrent.dll
System.Collections.dll

...

C:\MyApp\project.json

{
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
  },
  "dependencies": {},
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": "1.0.1"
      }
    }
  },
  "runtimes": {
    "ubuntu.14.04-x64" : {},
    "win10-x64" : {}
  }
}

C:\MyApp\Program.cs

public class Program
{
    public static void Main(string[] args)
    {
        System.Console.WriteLine("Hello World!");
    }
}

See Also

这个文件 https://learn.microsoft.com/en-us/dotnet/articles/core/deploying/index依赖框架的部署和独立部署之间的区别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ubuntu 上运行独立的 ASP.NET Core 应用程序 的相关文章

  • 如何使用永远和启动脚本在 ubuntu 上修复“错误:MONGO_URL 必须在环境中设置”?

    我刚刚在 EC2 ubuntu 服务器上部署了一个 Meteor js 应用程序 我安装了forever https npmjs org package forever并将以下启动脚本添加到 etc init meteor conf sta
  • ASP.NET Core - 在 Visual Studio 2015 中通过 Docker 调试时出现问题

    我在 Visual Studio 中使用 Docker 运行基于 ASP NET Core 构建的应用程序时遇到问题 我的应用程序仅使用dnxcore50框架 我的project json 文件是 version 1 0 0 compila
  • 如何使用 nohup 获取正在运行的程序列表

    我正在通过 SSH 连接访问运行 CentOS linux 发行版 的服务器 由于我无法始终保持登录状态 因此我使用 nohup command 来运行我的程序 我找不到如何获取我开始使用 nohup 的所有程序的列表 工作 只有在我注销之
  • ASP.NET Core MVC 中的 AutoMapper 实现

    我正在尝试使用 ASP NET Core MVC 应用程序中描述的技术来实现 AutoMapperhttps lostechies com jimmybogard 2016 07 20 integrating automapper with
  • 有没有办法提高linux管道的性能?

    我正在尝试使用 64 位将超高速数据从一个应用程序传输到另一个应用程序CentOS http en wikipedia org wiki CentOS6 我使用以下方法进行了基准测试dd发现阻碍我的是管道而不是程序中的算法 我的目标是达到
  • 如何将命令输出作为多个参数传递给另一个命令

    我想将命令的每个输出作为多个参数传递给第二个命令 例如 grep pattern input returns file1 file2 file3 我想复制这些输出 例如 cp file1 file1 bac cp file2 file2 b
  • Linux 中有没有一种轻量级的方法来获取当前进程数?

    我希望我的 基于 C C 的 程序显示一个数字指示器 指示本地系统上当前有多少个进程 将经常查询正在运行的进程数值 例如每秒一次 以更新我的显示 有没有一种轻量级的方法来获取该数字 显然我可以调用 ps ax wc l 但我不想强迫计算机生
  • 用于 e NetworkManager VPN 连接的 dbus 信号处理程序

    我需要开发一些在建立 VPN 连接时执行的 python 代码 VPN 由 NetworkManager 控制 我试图弄清楚如何为此使用 NM DBUS 事件 使用 dbus monitor system 我能够识别连接信号 signal
  • 点击界面没有出现

    我决定添加一个点击界面并在我的代码中使用它 但我能够得到它的状态 sudo ip f link tuntap add tap10 mode tap sudo ip link set tap10 up 之后当我执行 ip link 时 tap
  • 如何在 Ubuntu/Linux 发行版中安装 Tesseract-OCR 3.03?

    我和一个朋友有兴趣为 CV 项目训练 tesseract OCR 引擎 我们尝试使用一些包装器 例如 PyTesser 和 pyocr 但结果目前不如我们需要的那么准确 因此 我们希望尝试训练超立方体以更好地实现我们的目的 即识别食品标签上
  • 使用内存数据库和急切加载函数对 EF Core 进行单元测试

    我正在为我的 Web API 编写单元测试 除非删除包含 从方法中热切加载 否则无法让测试通过 我正在使用内存数据库来提供dbcontext并且无法弄清楚为什么它不返回任何数据 预先感谢任何帮助或建设性批评 这是我正在尝试测试的方法 Not
  • 以编程方式注入依赖项asp.net core

    我刚刚开始Asp net core 依赖注入 我的概念可能不准确 这篇 docs asp net 帖子 https docs asp net en latest mvc controllers dependency injection ht
  • gpg:抱歉,根本没有请求终端 - 无法获取输入

    解密时出现以下错误 eyaml decrypt s ENC and the key goes on here gnupg quiet no secmem warning no permission warning no tty yes de
  • 如何在C程序中直接改变显存映射来绘制像素(无需库函数)

    是否可以通过使用 C 程序更改 RAM 中屏幕 视频即监视器 内存映射中的值来显示黑点 我不想使用任何库函数 因为我的主要目标是学习如何开发简单的操作系统 我尝试访问起始屏幕内存映射 即 0xA0000 在 C 中 我尝试运行该程序 但由于
  • 删除 Python 中某些操作的 root 权限

    在我的 Python 脚本中 我执行了一些需要 root 权限的操作 我还创建并写入文件 我不想由 root 独占所有 而是由运行我的脚本的用户独占所有 通常 我使用以下命令运行脚本sudo 有办法做到上述吗 您可以使用以下方式在 uid
  • Directory.GetCurrentDirectory() 不返回正确的目录[重复]

    这个问题在这里已经有答案了 在我的 ASP NET Core 2 2 MVC 服务器中 我想添加一个文件夹来存储静态文件 我找到了以下代码来执行该操作 app UseStaticFiles new StaticFileOptions Fil
  • 优化 Keras 以使用所有可用的 CPU 资源

    好吧 我真的不知道我在说什么 所以请耐心听我说 我正在使用 Theano 后端运行 Keras 以在 MNIST 图像上运行基本的神经网络 目前只是一个教程 过去 我一直使用我的旧 HP 笔记本电脑 因为我有 Windows 和 Ubunt
  • 设置 Vim 背景颜色

    当我尝试更改背景颜色时 vimrc或者直接在 Vim 中使用以下命令 set background dark 这根本不影响我的背景 也没有light选项 不过 当我运行 gvim 时 看起来还不错 有没有办法在不更改 Konsole 设置的
  • tar.gz 和 tgz 是同一个东西吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我创建了 tgz 文件tar czvf filecommand then 我最终得到了一个 tgz 文件 我想知道它和tar gz 之间的
  • PHP 日志文件颜色

    我正在编写一个 PHP 日志文件类 但我想为写入文件的行添加颜色 我遇到的问题是颜色也会改变终端的颜色 我想要实现的是仅更改写入日志文件的行的颜色 class logClass extends Singleton private funct

随机推荐