9

プロジェクトがあり、ビューの.cshtmlファイルに問題がある場合に、コンパイル時エラーを生成するビューを構築したいと考えています。

それでも、コンパイル時間は大幅に増加します。

  • MvcBuildViews = true62秒かかります
  • MvcBuildViews = false9秒かかります

これは許容できるものですか?原因は非常に劇的な増加であり、そのようなコンパイル時間を待たなければならないことに耐えられません。そのようなコンパイルを改善する方法はありますか?

これまでのプロジェクトは、約130ビューと部分ビュー(.cshtmlファイル)で構成されています。これは大/中/小と見なされますか?

4

3 に答える 3

12

ビューをコンパイルする可能性があること自体は良いことだと思いますが、それほど長く待つこともできません. したがって、私が好むのは、ReleaseMvcBuildViews = true内にそれを追加しProperyGroupて、リリース時と展開前にのみビューをコンパイルすることです。

プロパティ グループは次のようになります。

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 

だからあなたを置く

<MvcBuildViews>true</MvcBuildViews>

この Release ブロック内。このようにして、デバッグを試みるたびにビューをコンパイルするのではなく、ビューを一度コンパイルします...

于 2013-12-07T00:08:56.630 に答える
2

私たちは同じ問題に苦しんでいました。統合テストUXテスト中に発生する明らかな問題を見つけるために、ビューのコンパイルを開始しました。さらに悪いことに、どういうわけか本番環境に忍び込んだバグがありました。

しかし、お気づきのように、ビルド時間は耐えられなくなりました。あなたのように、私たちの開発者は数え切れないほどの時間を構築し、それが私たちの日の主要な部分になりました。昼食後のテストについて冗談を言ったので、外出中にビルドを実行できました。

最終的には、UXテストの前にビルドに移行しました。

現在、プリコンパイルに向かっています。私たちのチームの1人の男だけが今のところそれを採用しており、明らかにプリコンパイルはビルドよりも著しく優れています(インクリメンタル対トータル)。そして、セットアップは基本的にナゲットフェッチです。

これらの記事は良いスタートになるはずです

http://stacktoheap.com/blog/2013/01/19/precompiling-razor-views-in-asp-dot-net-mvc-3/

http://blog.davidebbo.com/2011/06/precompile-your-mvc-views-using.html

于 2013-02-14T02:46:57.170 に答える