2011-06-27 12 views
4

私は、私が使用しているWebサービスのDLLを作成しています。いくつかの新しいコードを追加し、NUnitテストスイートでコンパイルしてデバッグしたいと思います。私が取ったステップがあります。「一時的なASP.NETファイル」のASP.NET DLLが再構築時に更新されないのはなぜですか?

  1. は私のアプリケーションのbinディレクトリを指す出力ディレクトリを使用してVisual Studio 2008で私のコードを書く(C:ETC \プログラムファイル\ ...)。

  2. ウェブサービスプロセスを起動してそれにアタッチすると、デバッグ情報なしでプログラムがビルドされたという警告が表示されます。C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\...ディレクトリの.pdbファイルをコピーすると、まだ私のコードセクションにヒットしません。

  3. 私のアプリケーションを停止し、DLLを再構築し、Webアプリケーションを再起動しました。

  4. さらに検査すると、私がアプリケーションを停止したときに気づいた。プロセスエクスプローラを開き、Temporary ASP.NETディレクトリの下にあるサブディレクトリを削除した後、私のプロセスを再起動するとサブディレクトリは再作成されますが、以前ビルドした新しいDLLは含まれませんが、 DLL、およびPDBファイルもありません。

私の質問には、Visual StudioをビルドしてDLLを一時的なASP.NETディレクトリに更新する方法がまとめられています。より多くのkudoのために、どのように私はバッチ援助なしで同じ一時ディレクトリに自動的にPDBファイルをコピーするVisual Studioを取得するのですか?

理想的には、私のDLLを一時ディレクトリに自動的にコピーしないようにしたいのですが、今日の私の検索では、ASPの内部構造がかなり制御できないため、適切な方法が見つけられませんでした。

注:外部実行可能ファイル経由でWebサービスにアクセスすると、NUnitのシャドウコピー機能が無効になります。

+0

ビルドプロセスにフォルダに対する権限があることを確認してください。 –

+0

これらは、このフォルダには組み込まれておらず、 'C:\ Program Files \ MyApp \ Bin'フォルダに組み込まれています。アプリケーションが起動されると、ASP.NET内部でそこにコピーされます。 – wfoster

+0

optimizeCompilationsフラグがtrueに設定されていますか?私も同様の問題がありました:http://stackoverflow.com/questions/6201447/iis-caching-project-reference-binaries –

答えて

0

これは、新しいDLLを取得するためにASP.NET Websitesのbinディレクトリを構築する必要があることを示しています。出力パスをC:\Program Files\MyApp\BinからC:\Program Files\MyApp\MyWebService\Binに変更しました。これは私が抱えていた問題を解決するように見えました。新しいDLLがコピーされ、すべてのデバッグが動作します。

乾杯!

関連する問題