Visual Studio 2022 C#:csproj中$(ProgramFiles)无法识别x86路径的解决办法
解决$(ProgramFiles)指向C:\Program Files (x86)的方案
单次构建临时替换
启动VS或执行构建命令前,先在命令行里运行:set ProgramFiles=C:\Program Files (x86)之后再打开VS或执行
msbuild,本次会话里的$(ProgramFiles)就会指向x86目录。CI流水线里直接在构建步骤前加这条命令即可。用户级环境变量永久设置
右键「此电脑」→属性→高级系统设置→环境变量,在用户变量里新增或修改ProgramFiles,值设为C:\Program Files (x86)。注意不要修改系统级的ProgramFiles,避免影响其他64位程序的正常运行。MSBuild参数强制覆盖
构建时直接通过参数指定变量值,不会影响全局环境:msbuild YourProject.csproj /p:ProgramFiles="C:\Program Files (x86)"这种方式仅对当前构建生效,适合流水线灵活配置。
使用x86版VS开发者命令行
右键启动VS开发者命令行时,选择「x86 Native Tools Command Prompt for VS 2022」,该命令行默认会将环境变量切换为x86路径,$(ProgramFiles)自然指向C:\Program Files (x86),直接在此环境下执行构建即可。
内容的提问来源于stack exchange,提问作者jimbo
相关产品推荐
相关产品推荐

