MSBuild任务不构建解决方案文件

时间:2015-09-17 10:19:27

标签: msbuild

我有一个应该构建另一个解决方案的项目文件。我尝试使用MSBuild任务,如下所示:

<MSBuild Projects="MySolution.sln" Properties="Configuration=$(Configuration)"/>

我尝试了很多变种,比如提供硬编码配置,目标重建等等。当我传递错误的解决方案名称,不存在的配置或目标等时,构建报告错误,因此它肯定会加载解决方案和项目文件。它退出的速度相对较快,不会产生任何输出。根据文档和示例,这应该工作。我还尝试为项目传递ItemGroup,包括示例或MSBuild - How to build a .NET solution file (in an XML task script) from pre-written command line commands中建议的项目特定属性,但这也不起作用。它运行时没有错误但没有输出。

当传递项目文件列表(或单个项目文件)时,它正确构建,但问题是项目之间的依赖关系没有得到正确解决。最后,我必须在解决方案中提供所有项目文件并将它们添加到列表中,这是我想要避免的。

那么,为什么解决方案构建不起作用,即使它应该?这有什么不对?

1 个答案:

答案 0 :(得分:1)

这是一个.net项目吗?如果是这样,您可能需要传递平台和配置。

<MSBuild
  Projects="MySolution.sln"
  Targets="build"
  Properties="Configuration=$(Configuration);Platform=$(Platform)" />

如果项目只包含网站和库,那么如果您的解决方案只包含Any CPUx86的可执行文件,或者它是不同类型平台的混合,那么平台应为x64然后你可以使用mixed platforms

要检查可用的内容,请在Visual Studio中打开解决方案,右键单击解决方案资源管理器中的解决方案,然后选择“配置管理器”,然后您将获得“Active Solution Platforms”下拉列表Active Solution Platforms