发布.NET核心应用程序时定位多个运行时

时间:2016-06-15 14:26:24

标签: .net asp.net-core .net-core project.json dotnet-cli

我想使用.NET Core创建一个self contained Web应用程序。我想针对任何版本的Windows,并在project.json

中使用此版本
"runtimes": {
  "win10-x64": { },
  "win8-x64": { },
  "win7-x64": { }
}

当我运行dotnet publish --runtime win10-x64时,我只能指定一次发布一个运行时。然后,我必须保留三份二进制文件。

是否可以为所有三个运行时发布我的应用程序并将该文件夹复制为完全自包含的应用程序?

1 个答案:

答案 0 :(得分:5)

创建自包含应用程序时,它包含运行所需的所有依赖项。据我所知,发布到各种版本的Windows之间唯一不同的是,对于旧版本,必须捆绑一些新版本中内置的依赖项。

这意味着如果您想拥有一个在所有受支持的Windows版本上运行的自包含应用程序版本,您可以:只使用最旧版本的Windows(win7-x64)。

同样的方法可能不适用于Linux,因为Linux通常不维护版本之间的二进制兼容性。