msbuild脚本无法生成C++;建筑商2010项目 我在C++ Builder 2010中有一个项目组。它包含几个项目。除了Debug和Releae之外,其中一个项目还有一个Demo构建配置,它是Release的子版本

msbuild脚本无法生成C++;建筑商2010项目 我在C++ Builder 2010中有一个项目组。它包含几个项目。除了Debug和Releae之外,其中一个项目还有一个Demo构建配置,它是Release的子版本,msbuild,c++builder,c++builder-2010,Msbuild,C++builder,C++builder 2010,我遇到的问题是,如果我从我们已有的构建脚本运行它,调用项目组文件并告诉它我想使用演示配置构建,我会得到一个关于未解析WinMain的错误。通过使用不存在的生成配置名称,我得到了相同的错误。所以我最初的想法是,这一定是因为项目组中的其他项目没有演示配置。但是,当我尝试从cmd对项目组文件运行msbuild并传递它的演示时,它构建得很好 C:\src\foo\AutoBuild> msbuild ..\foo.groupproj /t:build /p:Configuration=Demo

我遇到的问题是,如果我从我们已有的构建脚本运行它,调用项目组文件并告诉它我想使用演示配置构建,我会得到一个关于未解析WinMain的错误。通过使用不存在的生成配置名称,我得到了相同的错误。所以我最初的想法是,这一定是因为项目组中的其他项目没有演示配置。但是,当我尝试从cmd对项目组文件运行msbuild并传递它的演示时,它构建得很好

C:\src\foo\AutoBuild> msbuild ..\foo.groupproj /t:build /p:Configuration=Demo
使用msbuild from cmd构建特定项目也是如此。我已经检查了Config/*Configuration*属性是否在每个
任务调用中进行了转换,并且它是正确的

对项目组(.groupproj)文件进行黑客攻击,并在运行发行版时强制其为相关项目运行演示也起到了作用

...

<Target Name="Foo:Make">
  <MSBuild Targets="Make" Projects="Foo.cbproj" Properties="Config=Demo"/>
</Target>

...
。。。
...
你知道这是什么原因吗

更新

此外,当选择Demo时,只运行主构建脚本中的特定项目,也可以正常工作。请注意,发布版本是在此之前由构建脚本构建的

<Target Name="Foo:Build">

...

  <MSBuild Condition="$(Configuration)==''" Targets="Make" Projects="..\Server\Bar.groupproj" Properties="Config=Release" />
  <MSBuild Condition="$(Configuration)==''" Targets="Foo" Projects="..\Server\Bar.groupproj" Properties="Config=Demo" />

...

</Target>

...
...

如果构建脚本没有像上面的示例那样调用msbuild,它会做什么?当它运行时,它是针对目标make而不是针对Demo的foo运行的。这在从cmd运行msbuild并指定这些设置时有效,但在运行buildscript时无效。