2010-11-19 15 views
1

Team Build 2010を使用してWebサイトを公開しようとしていますが、簡単なオプションはありませんでした。だから、私のパラメータでエージェント( "aspnet_compiler.exe")のプロセスを呼び出し、自分のサイトを公開するカスタムアクティビティを作成しようとしました。チームについてWebサイトの構築、カスタムコードアクティビティの問題

私はこの問題は何である...、フォルダを削除、フォルダを作成し、コンパイルし、プロジェクトをビルド...

しかし、私はそれを呼び出すときに、このプロセスは、単にエージェント上で起動しないことができますか?

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()); 
    } 

他にもWebサイトを構築/公開する方法はありますか?私のコードに何が問題なのですか?

+0

私はaspnet_compilerでinvokeprocessを使用して同じ問題を抱えています。私はaspnet_compilerを除いてinvokeprocessで動作するものを得ることができます。それは変だね。 – Flores

答えて

1

TFSはプロジェクト/ソリューションをビルドするたびに、Webプロジェクト/サイトを自動的に公開し、_PublishedWebsitesという名前のフォルダに配置します。簡単に使えます。

さらに、このフォルダを別の場所にコピー/移動する必要がある場合、または他のファイル/フォルダでもこの操作を行う必要がある場合でもCopyDirectory,DeleteDirectoryなどのTeam Foundationビルドアクティビティを使用できます。ビルド処理中に何かを実行する必要がある場合は、独自のビルドアクティビティを作成する代わりにInvokeProcessビルドアクティビティを使用することができます。

関連する問題