发布.NET核心应用程序时针对多个运行时

Muh*_*eed 1 .net .net-core project.json asp.net-core dotnet-cli

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

"runtimes": {
  "win10-x64": { },
  "win8-x64": { },
  "win7-x64": { }
}
Run Code Online (Sandbox Code Playgroud)

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

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

svi*_*ick 5

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

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

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