【问题标题】:self-contained ASP.Net Core app doesn't run on Mac自包含的 ASP.Net Core 应用程序无法在 Mac 上运行
【发布时间】:2017-02-22 21:52:34
【问题描述】:

知道如何找到此问题的原因吗? Mac 终端只是响应“找不到命令”来尝试运行使用自包含部署发布的 ASP.NET 核心应用程序。

【问题讨论】:

  • 哪个命令触发了该错误以及同一文件夹中的ls 输出是什么?您没有提供足够的信息来透露您的步骤。
  • 测试应用程序称为“VueTest”,因此 OSX 部署包含一个文件“VueTest”,我尝试运行它:“VueTest”或“sudo VueTest”返回“找不到命令”。该文件夹包含大约 200 个文件,整个 .NET 核心运行时(大约 50MB,而当我使用框架相关部署而不是自包含时大约 10MB)。
  • 我在这里上传了完整的 OSX 部署:tinybox.rocks/vuetest_osx_10_12_x64.zip 工作的 Win10 部署在这里:tinybox.rocks/vuetest_win10_x64.zip 2 个应用程序文件夹的内容几乎相同,除了 VueTest.exe (win) 为与 VueTest (osx) 和 windows 上的一些 .dll(如 coreclr.dll)相反,它们是 osx 上的 .dylib 文件(如 libcoreclr.dylib)
  • 如果你已经学会使用 macOS ABCs,你应该以./VueTest 运行它。
  • 这很尴尬...你当然是对的,这确实解决了“问题”。很明显,我是一个 Mac/Linux 菜鸟。 Lex Li 非常感谢您抽出时间来回应这种愚蠢的错误。

标签: asp.net .net macos .net-core self-contained


【解决方案1】:

好的。所以总结一下。 Microsoft 确实使 .NET Core 应用程序跨平台,但 Windows 开发人员必须仔细学习一些 macOS 和 Linux 基础知识,然后才能进入另一个操作系统。

常见的问题是,

  1. 你需要在终端调用./executable_name来运行程序,这是一个约定。
  2. 您需要通过调用 chmod a+x executable_name 来授予可执行文件执行权限(大多数 Linux 发行版都需要这样做)。

【讨论】:

    猜你喜欢
    • 2017-03-06
    • 2022-01-24
    • 1970-01-01
    • 2021-08-05
    • 2019-02-10
    • 1970-01-01
    • 2019-07-12
    • 2014-06-24
    • 1970-01-01
    相关资源
    最近更新 更多