私は私たちが持っているウェブサイトのビルドスクリプトに取り組んできました。このWebサイトは、クラシックaspWebアプリのフォルダーにasp.netWebサイトがあるクラシックaspWebアプリです。
異なるWeb構成の代わりに置き換える必要があるglobal.asaの異なるバージョンがあります。私たちは継続的インテグレーション環境に移行する過程にあり、その多くはまだ私にとって新しいものです。次のタスクを実行するビルドスクリプトを作成しました。
- buildartifactsディレクトリが存在する場合はそれをクリーンアップします。
- 渡された構成を使用してソリューションファイルを作成します。これにより、プロジェクトごとに個別のフォルダーに出力が生成されます。
- ファイルを必要なフォルダ構造にコピーします。
- 同期としてMSDeployを使用して結果をパッケージ化します。
私の最初の問題はこれです...
このようにMSBuildタスクを実行すると...
<MSBuild Projects="$(SolutionFileName)"
Properties="Configuration=$(Configuration);OutDir=%(BuildArtifacts.FullPath)" />
Webアプリをビルドしますが、変換は適用しません。私は、MSBuildが変換を自動的に適用すると想定していました。代わりに、ビルドを含む出力フォルダーに3つの構成ファイルがすべて含まれることになります。どうしてこれなの?私はここでいくつかの検索を行いました、そしてここで彼らは変換を実行するために別のタスクを使用しています。Visual Studioが変換を適用でき、Visual StudioがMSBuildを使用している場合、MSBuildは変換を適用できると思いますか?MSBuildの構成は認識されていませんか?また、個別に実行する必要がある場合、フォルダー構造の各レベルの複数のフォルダーに複数の構成ファイルがある場合、すべての変換を一度に実行できますか?
私の2番目の問題は、...クラシックasp Webアプリであるため、この部分に構成ファイルを実際に使用できないためです...クラシックasp Webアプリが構成ファイルにアクセスする方法がわかりませんか?そのため、通常は手動で置き換えられる、さまざまなバージョンのglobal.asaファイルがあります。ある種の検索を実行したり、その時点で必要な特定のasaファイルをコピーしたりできると思いますが、おそらく変換を使用してこのタスクを実行する方法はありますか?