发布 .NET Core 应用程序时针对多个运行时
Targeting Multiple Runtimes When Publishing a .NET Core App
我想使用 .NET Core 创建一个 self contained Web 应用程序。我想针对 Windows 的任何版本并将其放入我的 project.json
:
"runtimes": {
"win10-x64": { },
"win8-x64": { },
"win7-x64": { }
}
当我运行dotnet publish --runtime win10-x64
我一次只能指定一个运行时间发布。然后我必须维护我的二进制文件的三个副本。
是否可以将我的应用程序发布所有三个 运行 次并将该文件夹复制为一个完全独立的应用程序?
当您创建独立的应用程序时,它包含 运行 所需的所有依赖项。据我所知,发布到 Windows 的各种版本之间的唯一区别是,对于旧版本,必须捆绑新版本中内置的一些依赖项。
这意味着,如果您想在 Windows 的所有受支持版本上使用一个 运行 版本的自包含应用程序,您可以:只使用最旧版本的 Windows (win7-x64
).
同样的方法可能不适用于 Linux,因为 Linux 通常不保持版本之间的二进制兼容性。
我想使用 .NET Core 创建一个 self contained Web 应用程序。我想针对 Windows 的任何版本并将其放入我的 project.json
:
"runtimes": {
"win10-x64": { },
"win8-x64": { },
"win7-x64": { }
}
当我运行dotnet publish --runtime win10-x64
我一次只能指定一个运行时间发布。然后我必须维护我的二进制文件的三个副本。
是否可以将我的应用程序发布所有三个 运行 次并将该文件夹复制为一个完全独立的应用程序?
当您创建独立的应用程序时,它包含 运行 所需的所有依赖项。据我所知,发布到 Windows 的各种版本之间的唯一区别是,对于旧版本,必须捆绑新版本中内置的一些依赖项。
这意味着,如果您想在 Windows 的所有受支持版本上使用一个 运行 版本的自包含应用程序,您可以:只使用最旧版本的 Windows (win7-x64
).
同样的方法可能不适用于 Linux,因为 Linux 通常不保持版本之间的二进制兼容性。