如何在 Visual Studio 2022 中将 Linux 正确定位为目标 OS?
How to properly target Linux as Target OS in VisualStudio 2022?
我正在 VisualStudio 2022 中开发 .NET6.0 控制台应用程序。该应用程序将 运行 Linux。
在项目 Properties/Application/General 中,有一个“目标 OS”设置。下拉列表允许我从以下选项中进行选择 OS':
没有 Linux 选项,所以我将其设置为 (None) 并且在“发布配置文件”中使用“目标 运行time”发布应用程序时 'linux-x64':
...运行 Linux 没问题。
但是因为在应用程序设置的下拉菜单中没有Linux选项,所以我的问题是:
- 每个人都是这种情况,还是我的 VS 安装中缺少某些东西?
- 此设置是否会影响构建 - 因为 (None) 似乎没有任何影响,而且发布配置文件中的设置似乎有最终决定权。
- 如果我想为 Linux 发布,(None) 设置是否合适,或者会有任何后果吗?
None
对于 Target OS
是正确的,因为它没有任何额外的东西。所有其他目标框架都包含 platform-specific 功能。 (如 WPF
相关命名空间在 Windows
下)。另一种看待它的方式是 None=Everywhere
您可能感兴趣的是在 .csproj
中设置 RuntimeIdentifier
或 RuntimeIdentifiers
。
对于您的情况,您可能需要以下内容:
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
有了这个集合,compiler/Visual Studio 会警告您使用在指定平台之一上不可用的方法。 Console
有一些只适用于 Windows。
我正在 VisualStudio 2022 中开发 .NET6.0 控制台应用程序。该应用程序将 运行 Linux。
在项目 Properties/Application/General 中,有一个“目标 OS”设置。下拉列表允许我从以下选项中进行选择 OS':
没有 Linux 选项,所以我将其设置为 (None) 并且在“发布配置文件”中使用“目标 运行time”发布应用程序时 'linux-x64':
...运行 Linux 没问题。
但是因为在应用程序设置的下拉菜单中没有Linux选项,所以我的问题是:
- 每个人都是这种情况,还是我的 VS 安装中缺少某些东西?
- 此设置是否会影响构建 - 因为 (None) 似乎没有任何影响,而且发布配置文件中的设置似乎有最终决定权。
- 如果我想为 Linux 发布,(None) 设置是否合适,或者会有任何后果吗?
None
对于 Target OS
是正确的,因为它没有任何额外的东西。所有其他目标框架都包含 platform-specific 功能。 (如 WPF
相关命名空间在 Windows
下)。另一种看待它的方式是 None=Everywhere
您可能感兴趣的是在 .csproj
中设置 RuntimeIdentifier
或 RuntimeIdentifiers
。
对于您的情况,您可能需要以下内容:
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
有了这个集合,compiler/Visual Studio 会警告您使用在指定平台之一上不可用的方法。 Console
有一些只适用于 Windows。