2015-12-21 8 views
6

.NET 4.0 ASP.netプロジェクトテンプレートに基づいたWebサイトがあります。突然、私のソリューションを再構築するときに、App_Codeディレクトリは(出力ウィンドウに表示されているものに基づいて)コンパイルするのに3〜4分の賞を授与されます。このディレクトリには約13のクラスしかなく、すべて非常に小さいです。App_Codeディレクトリの長いコンパイル時間のデバッグ

これらのファイルをApp_Codeディレクトリから別のクラスライブラリプロジェクトに移動しようとしましたが、一部はWebサイト以外のプロジェクトに追加できないSystem.Web.Security名前空間に依存しています。

これをデバッグして、何がコンパイルプロセスを暴走させるのかを判断する最善の方法は何ですか?で

+0

ほとんどの情報が[出力]ウィンドウに書き込まれるように冗長なデバッグを有効にしましたが、引き続き「ビルドディレクトリ '/ App_Code /'」に移動します。メッセージが表示され、時には数分の間ハングします。それ以上の情報は提供されません。 – bperniciaro

+0

これはWebサイトプロジェクトですか、Webアプリケーションプロジェクトですか?それがWebアプリケーションプロジェクトの場合、App_Codeにコードを入れる必要はなく、プロジェクトに含まれている限り、Webサイトの任意のフォルダに配置することができます。 –

+0

これはWebサイトプロジェクトです。 – bperniciaro

答えて

0

設定されたプロパティのバッチ= "false" に、Web.configファイルで

<コンパイル、デバッグ= "true" をtargetFramework = "4.0" バッチ= "false" にしてみてください>

+0

これはコンパイル時間に影響しません。 – bperniciaro

1

Web依存関係のために別のプロジェクトにapp_codeファイルを移動することができず、別のフォルダ内の同じプロジェクトにそれらを移動しても、利点はありません。

  1. ウェブサイトのプロジェクトは、ウェブアプリケーションのプロジェクトが長くなると、作成に時間がかかります。 それを変換できるかどうかを確認してください。

  2. コンパイルタグでoptimizeCompilations = "true"を設定することもできます。

  3. 変更 実行またはデバッグ

もっとreferencenceに現在のページのみをコンパイルするビルドプロジェクトオプション - https://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx

+0

これらのどれも残念ながら働いていませんでした。 – bperniciaro

+0

大丈夫です。それをWebアプリケーションに変換しようとしましたか? –

+0

詳細を教えてください。私は私の最後にもそれを確認するかもしれません。 –

1

残念ながら「にApp_Code」ディレクトリがブラックボックスであるとすることができます」コンパイルをファイルごとに見る。私はWebアプリケーションテンプレートに移行しようとしましたが、これはデフォルトではサポートされていないプロファイルプロバイダーフレームワークに依存しているために複雑でした。

私は最良の解決策は、このテンプレートを完全に避けることだと思います。私は完全にMVCに移行できるようになるまで、遅いコンパイル時間に対処します。 .NET 5.0(Core)はWebフォームをまったくサポートしないため、これは特に重要です。