我有一个到目前为止可以通过UI或命令脚本运行的软件。 我的工作是删除所有UI,并使其使用tfs构建自动运行。 使用TFS 2012 VS 2012
我的问题:1.如何运行正在构建的软件。 我尝试使用MSBuild Arguments
/p:DeployOnBuild=True /p:DeployTarget=Package /p:CreatePackageOnPublish=True
/p:OutputPath=bin /p:VisualStudioVersion=11.0 /p:MSDeployPublishMethod=InProc
/p:MsDeployServiceUrl=localhost
/p:DeployIisAppPath=@"\\filer01\FDrive\public\documents\new\\"
没有错误,但是我的测试解决方案不会产生任何结果。 为了进行测试,它应该创建一个文件。 在自定义代码活动中,相同的代码可以正常工作,因此意味着该软件无法运行。 我想从源代码管理中运行软件。
问题2.将参数从TFS构建定义传递到我正在构建和运行的软件的最佳方法是什么? 我可以通过软件打电话给他们吗?
编辑:解决方案:自定义活动:
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = String.Format("{0}\\TestingForm.exe", binaries)
}
};
process.Start();
process.WaitForExit();
我从未尝试过DeployIisAppPath参数,但过去我们通常使用TFS构建定义将代码部署到远程IIS服务器。 效果很好。 也许您可以尝试删除DeployIisAppPath并部署到本地IIS?
在构建步骤中可以访问MSBuild参数。 您可以在wpp.targets文件中指示MSBuild使用这些值并使用它们来更改应用程序文件,但这完全取决于您要如何使用它们。