msbuild.exe会忽略系统的属性页

时间:2013-12-29 15:08:32

标签: windows visual-studio-2010 msbuild

我正在尝试使用MSBuild.exe从命令行运行自动构建。我的一个项目是依赖%AppData%\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props的{​​{1}}用户宏。

我可以毫无问题地在VS2010中构建项目,但是当尝试从命令行构建它时它会失败。

上述属性页文件是否可能仅与IDE相关?!

1 个答案:

答案 0 :(得分:3)

默认情况下,用户道具文件(Microsoft.Cpp。$(Platform).user.props)直接导入vcxproj文件中。默认条件表示始终导入它。检查你的vcxproj。

  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>

您是否在同一个用户下构建项目文件?

是否可以指定用于构建项目的命令行?

从IDE构建VC项目时,VS指定属性BuildingInsideVisualStudio以指示它正在从IDE构建。