如何配置Visual Studio让.NET默认使用win10-x64 RuntimeIdentifier
解决Visual Studio 2022默认使用win10-x64作为RuntimeIdentifier的问题
问题根源
你的项目文件里有三个无区分条件的<PropertyGroup>,每个都声明了不同的RuntimeIdentifier。Visual Studio构建时会合并所有属性,导致RuntimeIdentifier被多次覆盖,最终生效的可能是osx.12-arm64,而你设置的平台目标是x64,两者架构不兼容,因此抛出错误:
The RuntimeIdentifier platform 'osx.12-arm64' and the PlatformTarget 'x64' must be compatible.
解决方案
重构项目文件,通过条件属性区分不同RuntimeIdentifier的配置,同时设置win10-x64为默认值,避免属性冲突。
修改后的项目文件示例
<Project Sdk="Microsoft.NET.Sdk.Web"> <!-- 公共基础配置:所有RID共享的属性,同时设置默认RuntimeIdentifier --> <PropertyGroup> <OutputType>Exe</OutputType> <DefaultItemExcludes>$(DefaultItemExcludes);WebApp/**/*</DefaultItemExcludes> <RuntimeIdentifier>win10-x64</RuntimeIdentifier> <!-- 默认RID --> <LangVersion>10.0</LangVersion> <NullableContextOptions>enable</NullableContextOptions> <TargetFramework>netcoreapp6.0</TargetFramework> <PublishSingleFile>true</PublishSingleFile> <SelfContained>true</SelfContained> <PublishTrimmed>true</PublishTrimmed> <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract> </PropertyGroup> <!-- Linux专属配置:仅当指定linux-musl-x64 RID时生效 --> <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'linux-musl-x64'"> <RuntimeIdentifier>linux-musl-x64</RuntimeIdentifier> </PropertyGroup> <!-- macOS专属配置:仅当指定osx.12-arm64 RID时生效 --> <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'osx.12-arm64'"> <RuntimeIdentifier>osx.12-arm64</RuntimeIdentifier> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute> </PropertyGroup> <ItemGroup> ... </ItemGroup> </Project>
关键说明
- 公共配置提取:把所有RID共享的属性放在基础
<PropertyGroup>中,避免重复代码,同时设置win10-x64为默认RuntimeIdentifier。 - 条件属性:给不同RID的配置添加
Condition,只有当构建时指定对应RID(比如命令行dotnet run -r linux-musl-x64),该配置才会生效,覆盖默认RID。 - 平台目标匹配:确保你的平台目标(x64)与默认RID(win10-x64)架构兼容,两者都是x64,不会再出现冲突。
Visual Studio中确认设置
- 右键项目 → 属性 → 生成:确认“平台目标”为x64。
- 右键项目 → 属性 → 调试:在“运行时标识符”区域确认默认选中win10-x64,若未显示可手动输入。
内容的提问来源于stack exchange,提问作者Basil the dev
相关产品推荐
相关产品推荐

