2010-11-18 8 views
4

Visual Studioのパブリッシュ/デプロイをサポートすることを理解しているので、デフォルトのビルドアクションは「なし」から「コンテンツ」に変更されました。MVC 3 rc1 Razor cshtmlファイルの設定に関する問題コンパイルするアクションをビルドしますか?

特定のプロジェクトでは、Visual Studioのpublish/deployメソッドを使用せず、コマンドラインからコンパイルする必要もありません。

ビルドアクションを「コンパイル」に設定するとコンパイルされたように見えますが、コンパイル時にエラーが発生し、cshtmlのコードミスで警告が生成されます。

これは、通常のランタイムオンリーエラーよりも大きな利点のようです。

ビルドアクションを「コンパイル」に変更した場合、後でどの問題を実行するのか知っていますか?

感謝..

編集:私はVSの展開、またはコマンドラインの編集以外の、​​私はに実行するかもしれない将来どのような問題を確認していないが、安全のために、私が言及しmarcindプリコンパイルオプションのために行ってきました彼のコメント。最も近い答えとしてマークしました。

答えて

4

「コンパイル」とマークされたファイルは、プロジェクトタイプに適した言語コンパイラに渡されるため、Razorファイルを「コンパイル」に設定すると機能しないはずです。ほとんどのRazorファイルは有効なC#またはVBソースファイルではなく、コンパイラエラーが発生します。

これはVSが何か変なことをしているように見えますが、IDEからコンパイルすると必ずエラーを表示するとは限りません。ただし、プロジェクトをコマンドラインから直接コンパイルすると、常に失敗します。それは(今、または以降)は動作しません

  • それは動作しませんのでだからあなたの質問

    1. に答えるために

      。実際、あなたのサイトを公開/展開する際、Razorファイルはコピーされません。

    技術的には、VSは実際には何も知らなかったため、「ビルドアクション」は「コンテンツ」にする必要があります。これはasp.netの公開/デプロイメントの仕組みです(以前のプレビューでは「なし」でした。かみそりファイルとそれはデフォルトの動作です; "変更"の目的は、すべてのものを動作させることでした)。

  • +0

    返信いただきありがとうございます。私がパブリッシュ/デプロイを使用しないことを条件に質問を更新しました。また、「まだ動作しています」が「まだコンパイルされているようです」と変更されました。なぜなら、cshtmlで構文エラーが発生しない限り、正常に動作するからです。 これは非常に便利だと思いますが、ドキュメントを見つけることができません。 –

    +0

    コマンドラインからアプリケーションをコンパイルできますか? VSコマンドラインを開き、プロジェクトディレクトリに移動し、 'msbuild ProjectName。?? proj'を実行します。 – marcind

    +2

    Btw、あなたのビューをプリコンパイルするための機能はすでにあります:http://stackoverflow.com/questions/383192/compile-views-in-asp-net-mvc – marcind

    関連する問題