我已经习惯了dot net框架构建一个我可以发布的.exe文件 但是在.Net Core 2.0中,我需要在创建.exe
时指定运行时ID例如
dotnet publish --runtime win7-x84
其中运行时标识为win7 选择运行时ID时应考虑哪些因素?
我是否需要发布多个.exe版本以满足不同操作系统上的客户的需求?
答案 0 :(得分:1)
选择运行时ID时应考虑哪些因素?
那么,您应该考虑的主要因素是目标操作系统,其中将启动应用程序。在.NET Core 2.0增加对便携式RID的支持后,一切都变得更加简单。便携式RID不包括操作系统详细信息,例如:win-x64
或linux-x86
。如果操作系统属于一个平台(Windows或Linux),则可以发布一个版本的应用程序,该应用程序将在该系列的所有操作系统上运行。因此,要为x64 Windows操作系统的整个系列构建应用程序,请运行以下publish
命令:
dotnet publish --conflease Release --runtime win-x64
我是否需要发布多个.exe版本才能满足我的需求 客户在不同的操作系统上?
根据以上说明,对于一个家庭内的不同OS,不需要单独的版本。您不需要为win7,win8,win10等构建新版本。但是,您仍需要发布两个应用程序版本以支持x86和x64体系结构。可以只构建一个可在x32和x64上运行的x32版本。但是它将在x64 OS上以32位模式运行,应该避免使用。
This question包含许多关于不同RID和OS之间兼容性的其他详细信息。自从推出便携式RID以来,这大部分已经过时,但仍然有很多有用的信息。