You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改MSBuild命令将VS2019项目CompileAs设为TC?

解决VS2019 MSBuild强制设置编译模式为TC的问题

一、修正MSBuild命令参数

你之前使用的/p:CompileAs=CompileAsC未生效,是因为VS2019的MSBuild对CompileAs属性的有效值更认可数值而非枚举名称:

  • TC(C代码编译)对应数值1
  • TP(C++代码编译)对应数值0

正确的构建命令应为:

msbuild name.vcxproj /t:build /p:Platform=Win32 /p:CompileAs=1

执行后可以通过查看构建日志,或检查生成的编译命令行(会包含/TC参数)来确认模式已切换。

二、永久修改项目默认编译模式(避免每次传参)

由于你的项目常通过脚本重建,建议直接修改.vcxproj文件的默认配置,让项目从一开始就以TC模式编译:

  1. 打开目标项目的name.vcxproj文件
  2. 找到对应平台(如Win32)的PropertyGroup节点(Debug和Release配置都要改)
  3. 添加<CompileAs>1</CompileAs>配置项,示例如下:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  <!-- 原有配置 -->
  <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
  <IntDir>$(Configuration)\</IntDir>
  <!-- 添加TC编译模式设置 -->
  <CompileAs>1</CompileAs>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  <!-- 原有配置 -->
  <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
  <IntDir>$(Configuration)\</IntDir>
  <!-- 添加TC编译模式设置 -->
  <CompileAs>1</CompileAs>
</PropertyGroup>

这样后续无论脚本如何重建项目,默认都会以TC模式编译,无需再在MSBuild命令中追加参数。

内容的提问来源于stack exchange,提问作者User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 04:03:16