Visual Studioと同じように、PSAKEを使用してasp.net Webアプリケーションを公開する方法はありますか?
3 に答える
この投稿によると、Webアプリケーションを公開する別の方法があります。この手法を使用して、.asmxWebサービスを公開しました。秘訣は_CopyWebApplication
msbuildターゲットです。これにより、Webアプリの配布可能なファイルが作成されます。
# ...setup properties
task PublishWebService -depends Compile {
$output_dir = "$build_dir\$configuration\Web"
$output_bin_dir = "$output_dir\bin\"
msbuild $webservice_project_file /t:ResolveReferences /t:_CopyWebApplication /p:Configuration=$configuration /p:WebProjectOutputDir="..\$output_dir" /p:OutDir="..\$output_bin_dir"
if (-not (Test-Path $web_service_inetpub_dir)) {
mkdir $web_service_inetpub_dir
}
copy $output_dir\* -destination $web_service_inetpub_dir -recurse -force
"Publish OK!"
}
psakeスクリプト内からIISサイトとアプリプールをセットアップおよび破棄する方法については、この投稿も参照してください。
更新: 次のコマンドが少しうまく機能することがわかりました。上に投稿したものは、web.config変換を正しく適用しません。
# ...
msbuild /t:Rebuild /p:OutDir=..\$output_dir\ /p:Configuration=$build_configuration /p:UseWPP_CopyWebApplication=True /p:PipelineDependsOnBuild=False /p:TrackFileAccess=false "$web_app_project_file"
# ...
copy $output_dir\_PublishedWebsites\$web_app_project_name\* -destination $inetpub_dir -recurse -force
.net4.0のビルドインパッケージとIISのWeb展開ツールを使用しています。PSakeから使用するコードのスニペットは次のとおりです。
Psakeには、プログラムを実行するための関数execがあります。このタスク/関数を使用すると、Webアプリをビルド、コンパイル、および公開できます
asp_compilerを実行して、プロジェクト/ソリューションを構築できます
Exec { aspnet_compiler.exe }
aspnet_compiler.exeの正確な構文とパラメータについては、msdnサイトを参照してください。
私はそれを行う方法を示す例を見つけました:
http://blog.developwithpassion.com/2008/10/30/interested-in-trading-in-your-nant-builds-a-teaser/