1

私はこの問題を解決するためにたくさん静かに探していましたが、適切な解決策を見つけることができませんでした。
約16のプロジェクトを含むC#.NETソリューションがあり、TeamBuildとMSBuildを介して毎晩ビルドしたいと考えています。
プロジェクトのうちの2つは、ソリューションまたはプロジェクトのビルド後に公開する必要があるWebプロジェクトですが、問題は、通常の出力パスでコンパイルし、ローカルファイルシステムの特定のフォルダーに公開する必要があることです。Visual Studioでは、これは問題ありません。ローカルファイルシステムで[公開]をクリックすると、プロジェクトが正常に公開されます。

DelpoyOnBuildなどのMSbuildオプションはすでにいくつか見つかりましたが、すべての例はIIS Webサーバーでの公開でのみ機能しますが、この場合はIISを使用したくありません。ビルド後にMSBuildでWebプロジェクトを指定されたローカルフォルダーに公開/展開することはできますか?

よろしくセバスチャン

4

2 に答える 2

0

はい。ただし、プロセステンプレートを少し調整する必要があります。ドロップフォルダ内のファイルをベースとして、別のプロセスで公開部分を処理できます。次に、アクティビティで好きなツールを使用するInvokeProcessか、それを処理する独自のカスタムアクティビティを開発できます。

このプロセスが標準のビルドプロセスの一部であるか、別のテンプレート/ビルド定義であるかは、どのように実行するかによって異なります。

Community TFS Build Extensionsを使用しており、これらの追加のアクティビティを使用InvokeBuildして、他のビルドを開始するために使用できます。たとえば、別のビルドの最後に使用できます。現在のビルドのURIを渡し、それらを使用することGetBuildDetailで、どのビルドもその前のビルドを認識し、そのすべての詳細(DropFolderたとえば)にアクセスできます。

于 2012-05-27T08:16:45.093 に答える
0

これは、ビルド後のイベントまたは msbuild.exe を呼び出す単純なコマンド ファイルを使用して行いました。msbuild はパラメーターを使用して開始されるため、Web サービスがデプロイされます。これは私のコマンドです:

MSBuild.exe /target:Build;PipelinePreDeployCopyAllFilesToOneFolder /p:Configuration=Release;_PackageTempDir=%binfolder% "projectfile.csproj"
于 2012-06-21T08:37:21.543 に答える