3

我正在使用 TFS2010 和 MSBuild 将 Windows azure 云解决方案集成到 CI。

为了创建部署所需的 2 个文件,我在“MSBuild Arguments”中添加了 /t:Publish

这是我在 TFS 中用于构建包的配置:

TFS 配置

问题是:如果我删除所有参数,则测试构建正确,但没有构建 azure 包,如构建结果所示:

用测试构建

如果我把参数放在那里,但测试没有运行:

无需测试即可构建

有没有办法两者兼得?

4

3 回答 3

3

我已经设法在我的 tfs 构建(TFS 2013)中解决了这个问题。我将我的 MSBuild 参数目标设置为/t:Publish;Build

基本上,在发布目标期间,未构建单元测试项目。“构建”目标构建单元测试项目并执行我的测试。我还注意到“发布”和“构建”的顺序很重要。在“发布”之前设置“构建”目标为我的构建引发了一些错误。

于 2014-09-11T09:52:54.777 回答
0

我与 TFS 团队讨论了您的问题,我被告知到目前为止,TFS2010 尚未完全支持此功能,但此类功能已在他们的雷达范围内,并且可能成为未来 TFS 版本的一部分。

因为您使用的是 TFS 2010,所以这里有一些可以提供帮助的提示:

于 2012-06-07T15:36:32.120 回答
0

这个问题在 TFS 2013 中仍然存在。我通过在解决方案中创建一个 Makefile 项目来解决它,并添加一个新的“Makefile”文件,其内容为

all:
    msbuild $(SolutionDir)AzureProject\AzureProject.ccproj /p:TargetProfile=Cloud /t:Publish /p:Configuration=$(Configuration) /p:PublishDir=$(OutDir)

并在项目属性页设置构建命令行

nmake /E SolutionDir=$(SolutionDir) /E Configuration=$(Configuration) /E OutDir=$(OutDir)
于 2014-06-16T10:08:57.033 回答