我正在尝试使用Team Build 2010发布网站,但我没有看到任何简单的选项。所以我尝试创建一个自定义活动,用我的参数调用代理中的进程(“aspnet_compiler.exe”)并发布我的站点。
我可以删除文件夹,创建文件夹,编译和构建项目......
但是当我调用它时,这个过程并没有在代理上启动......问题是什么?
protected override void Execute(CodeActivityContext context)
{
// Obtain the runtime value of the Text input argument
// string text = context.GetValue(this.Text);
Process proc = new Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.WorkingDirectory = @"C:\Windows\Microsoft.NET\Framework\v2.0.50727";
proc.StartInfo.FileName = "aspnet_compiler.exe";
proc.StartInfo.Arguments = "-p "+context.GetValue(this.SourcesDirectory) +
" -v / " + PublishDirectory;
proc.Start();
proc.WaitForExit();
while (!proc.HasExited)
{
}
context.SetValue(Result,proc.StandardOutput.ReadToEnd());
}
有没有其他方法来构建/发布网站?我的代码出了什么问题?
答案 0 :(得分:1)
每次TFS构建项目/解决方案时,它都会自动发布Web项目/站点并将它们放在名为_PublishedWebsites
的文件夹中。你可以轻松使用它。
此外,如果您需要将此文件夹复制/移动到其他位置,或者即使您需要对其他文件/文件夹执行此操作,也可以使用CopyDirectory
,DeleteDirectory
和其他Team Foundation构建活动。如果您仍需要在构建过程中运行某些内容,则可以使用InvokeProcess
构建活动,而不是创建自己的构建活动。