4

Visual Studioの公開/展開をサポートすることを理解しているため、既定のビルドアクションが[なし]から[コンテンツ]に変更されました。

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

ビルドアクションを「コンパイル」に設定してもコンパイルされているように見えますが、cshtmlのコーディングミスに対してコンパイル時エラーと警告が生成されるという追加の利点があります。

これは、通常の実行時のみのエラーに比べて大きなメリットのようです。

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

どうもありがとう..

編集: VSの展開やコマンドラインのコンパイル以外に、将来どのような問題が発生する可能性があるかはわかりませんが、安全のために、marcindがコメントで言及しているプリコンパイルオプションを選択しました。私はそれを最も近い答えとしてマークしました。

4

1 に答える 1

4

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

VSが何か奇妙なことをしているように見え、IDEからコンパイルしたときに常にエラーが表示されるとは限りません。ただし、コマンドラインからプロジェクトを直接コンパイルすると、常に失敗します。

だからあなたの質問に答えるために

  1. 動かないので
  2. それは機能しません(現在、またはそれ以降)。実際、サイトを公開/デプロイするときに、Razorファイルはコピーされません。

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

于 2010-11-18T17:26:49.830 に答える