2011-06-27 37 views
4

我正在使用一個我使用的web服務的DLL,我添加了一些新代碼,並希望通過NUnit測試套件進行編譯和調試。我採取的步驟是。爲什麼我的ASP.NET DLL中的「Temporary ASP.NET Files」沒有得到重建更新?

  1. 寫我的代碼在Visual Studio 2008與輸出目錄指向我的應用程序bin目錄(C:\ Program Files文件\等)。

  2. 當我啓動我的web服務進程並附加到它時,我得到警告說我的程序是在沒有調試信息的情況下構建的,我發現如果我將.pdb文件複製到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\...目錄中,那麼我可以避免警告,仍然沒有打我的代碼部分。

  3. 我停止了我的應用程序,重新構建了我的DLL並重新啓動了Web應用程序。

  4. 經過進一步檢查,我注意到當我停止通過我的申請。進程資源管理器,並刪除Temporary ASP.NET目錄下的子目錄,然後當我重新啓動我的進程時,子目錄得到重新創建,但它們不包含我以前建立的新DLL,但舊版本的DLL的,也沒有PDB文件。

總而言之,我的問題是如何讓Visual Studio在構建和更新臨時ASP.NET目錄中的DLL?更多kudo的如何讓Visual Studio自動將PDB文件複製到相同的臨時目錄而無需任何批量協助?

理想情況下,我想避免這種自動複製我的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

想通了,需要建立到ASP.NET網站的bin目錄,以獲得新的DLL。將C:\Program Files\MyApp\Bin的輸出路徑更改爲C:\Program Files\MyApp\MyWebService\Bin,這似乎解決了我所遇到的問題,並且複製了新的DLL並調試了所有的調試工作。

乾杯!

相關問題