如何使用msbuild打包并使用持续集成在TFS 2010上运行测试

如何使用msbuild打包并使用持续集成在TFS 2010上运行测试,msbuild,azure,continuous-integration,mstest,Msbuild,Azure,Continuous Integration,Mstest,我正在使用TFS2010和MSBuild将windows azure云解决方案集成到CI 为了创建部署所需的2个文件,我在“MSBuild参数”中添加了/t:Publish 以下是我在TFS中用于构建包的配置: 问题是:如果我删除了所有参数,测试将正确生成,但没有生成生成结果中显示的azure包: 如果我将参数放在包中,但测试未运行: 有没有一种方法可以同时使用这两种功能?我与TFS团队讨论了您的问题,他们告诉我,到目前为止,TFS2010尚未完全支持此功能,但此类功能已在他们的雷达中,可

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

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

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

问题是:如果我删除了所有参数,测试将正确生成,但没有生成生成结果中显示的azure包:

如果我将参数放在包中,但测试未运行:


有没有一种方法可以同时使用这两种功能?

我与TFS团队讨论了您的问题,他们告诉我,到目前为止,TFS2010尚未完全支持此功能,但此类功能已在他们的雷达中,可能是未来TFS版本的一部分

由于您使用的是TFS 2010,因此以下几点建议可能会有所帮助:


这一问题在2013年TFS中仍然存在。 我通过在解决方案中创建一个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)

我已在我的tfs构建(tfs 2013)中解决了此问题。我正在将MSBuild参数目标设置为/t:Publish;构建


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

我还没有这样做,但请查看Tom的博客以获得指导:2016年使用团队服务,错误仍然存在。很高兴知道它在aim中。你的解决方案对我有效。