MSbuildでWebサイトを自動的にプリコンパイルする際の問題
質問
すべて、
現在、2つのクラスライブラリとMsbuildを使用してteamCity内に構築されているWebサイトで構成されるソリューションがあります。次に、Webサイトをプリコンパイルして、アーティファクトとして使用できるようにします。ただし、
を使用してプリコンパイルしようとすると<Target Name="PrecompileWeb" DependsOnTargets="Build">
<AspNetCompiler
PhysicalPath="$(BuildDir)\Location\"
TargetPath="$(BuildDir)\Publish"
Force="true"
Debug="true"
/>
</Target>
仮想パスを探しているためにエラーが発生します(サイトの公開に興味のないファイルをプリコンパイルするだけではありません)ダミーパスを入れるとIISのアプリケーションではないという別のエラー(正しく)
任意のアイデア
解決
これはWebサイトまたはWebアプリケーションプロジェクトですか?後者の場合、AspNetCompilerタスクを実行する代わりに、csproj / vbprojファイルに対してMSBuildタスクを実行し、ターゲット Rebuild; ResolveReferences; _CopyWebApplication
を呼び出して、 OutDir
プロパティを指定します。
Webサイトを使用している場合、VirtualPathを有効なIISパスに指定します。何が起こっているかというと、VirtualPathプロパティを指定しないと、PhysicalPathとIISを使用してそれを解決しようとします。これは、AspNetCompilerがどのように機能するかの成果物に過ぎないと考えています。
他のヒント
これはすべてのビルドで発生するため、これが機能するかどうかわかりませんか?これは、ローカルビルドではなくTeamCityサーバーでビルドを実行する場合にのみ行います。
現在、本質的に
必要なすべてのソリューションを構築する 単体テストを実行する アーティファクトのZipフォルダーを作成します
乾杯
所属していません StackOverflow