.NET Core Standalone版本不能在MacOS 10.12上运行

时间:2017-03-03 17:40:53

标签: macos .net-core

我正在将.NET Core控制台应用程序部署为多个平台的独立构建。我无法运行macOS版本。当我运行可执行文件时,我收到以下错误:

“错误:未找到依赖项清单中指定的程序集 - package:'runtime.osx.10.10-x64.runtime.native.System',version:'4.3.0',path:'runtimes / osx。 10.10-X64 /天然的/ System.Native.a'“

我已经构建并部署了应用程序win7-x86,win7-x64,win10-x86,win10-x64,centos.7-x64,都没有任何问题。

我正在尝试在运行macOS 10.12(Sierra)的Mac mini上运行mac build。我尝试过针对osx.10.10-x64和osx.10.12-x64并得到相同的错误。我也尝试在.NET Core 1.0.1和1.1.0下构建和发布同样的错误。

我在Windows 10系统上构建,在每种情况下都创建独立的构建。当我在Mac上安装.NET Core框架(并将应用程序构建为框架版本)时,我确实让我的应用程序正常运行,但我需要运行独立版本。

我已经通过Homebrew在Mac上安装了OpenSSL,这是我所知道的唯一外部依赖。我的project.json文件在下面。

任何帮助将不胜感激!

{
  "version": "1.1.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "Microsoft.NETCore.App": "1.1.0",
    "Newtonsoft.Json": "9.0.1",
    "System.Xml.XmlSerializer": "4.3.0"
  },

  "frameworks": {
    "netcoreapp1.1": {
      "imports": "dnxcore50"
    }
  },

  "runtimes": {
    "centos.7-x64": {},
    "win10-x64": {},
    "win10-x86": {},
    "win7-x64": {},
    "win7-x86": {},
    "osx.10.10-x64": {},
    "osx.10.12-x64": {}
  },

  "description": "XXX gameplay instance server.",
  "title": "XXX"
}

1 个答案:

答案 0 :(得分:0)

这似乎是一个环境问题,使用泊坞窗创建新项目,以及复制project.json工作。

docker run -v <your app folder>:/app -it --rm  microsoft/dotnet:1.1.0-sdk-projectjson

在容器内

cd /app
dotnet restore
dotnet publish -c Release -r osx.10.12-x64
exit

容器外

chmod +x bin/Release/netcoreapp1.1/osx.10.12-x64/publish/app
./bin/Release/netcoreapp1.1/osx.10.12-x64/publish/app

测试项目的链接:https://drive.google.com/open?id=0B9E5H1HYtm8DSFJMSG1CZDNyTGc