2010-07-14 25 views
0

我有一個由多個項目組成的解決方案,這些項目之間存在各種依賴關係。當我構建項目/解決方案時,它會根據需要在Project \ bin文件夾中創建DLL程序集文件。但是,當我運行程序時,它會將一切臨時文件的文件夾,並從那裏運行它:如何使Visual Studio從bin運行程序集文件(依賴項)?

C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \臨時ASP.NET文件\應用程序名稱

因此,現在在bin文件夾和臨時文件文件夾中的每個項目都有相同的DLL文件,它們從中運行。問題在於我在幾個地方引用了硬編碼到我的項目中的bin目錄,所以當它看起來那裏時,它回來了DLL混淆和錯誤。我如何讓Visual Studio從原始bin目錄運行程序集文件而不是複製它們並從臨時文件運行它們?

P.S.請不要告訴我改變硬編碼 - 有理由爲什麼它必須保持原樣;這就是爲什麼我想弄清楚如何從垃圾箱運行。

謝謝

回答

2

這就是衆所周知的陰影複製及其設計特性。特別是對於ASP.NET網站,它可以在不卸載應用程序域的情況下更新域程序集,這對於旨在持續運行的ASP.NET網站很重要。我真的建議將它留下,並重新評估使用\ bin目錄的要求。

如果你真的要禁用陰影複製,以下內容添加到您的web.config文件:

<hostingEnvironment shadowCopyBinAssemblies="false" /> 

做上述的副作用,那是你在你的\ bin目錄組件會在應用程序的生命週期中鎖定。

相關問題