2010-10-30 39 views
3

在我的ASP.NET應用程序中,我試圖添加另一個目錄以使其中的DLL被複制。將目錄添加到ASP.NET影子副本

我發現這將允許m做到這一點的唯一方法是AppDomain.CurrentDomain.SetShadowCopyPath

但是,此方法標記爲Obsolete。 MSDN有此說關於它

SetShadowCopyPath(字符串路徑)消息:AppDomain.SetShadowCopyPath已被棄用。請調查使用AppDomainSetup.ShadowCopyDirectories。

然而,AppDomainSetup.ShadowCopyDirectories財產似乎並沒有改變,每當我一值設置爲它。

AppDomain.CurrentDomain.SetupInformation.ShadowCopyDirectories = "mydirectory;bin"; 
string test = AppDomain.CurrentDomain.SetupInformation.ShadowCopyDirectories; // returns bin, which was the original directory 

是否有一個原因,它不會改變,是否有工作?

回答

0

路徑必須是絕對的 - 我會盡早在Application_Start(1)。

(1) - AssemblyResolve event is not firing during compilation of a dynamic assembly for an aspx page

+2

在你給的鏈接答案使用'SetShadowCopyPath(字符串路徑)'。我嘗試過,它的工作原理。但是我想知道是否有一種我可以使用的非過時方法。 – Omar 2010-10-31 20:54:41

+0

請在此處查看第二條評論:http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/a3ba76f1-f090-4230-a362-8aa21f34b803/ – Nariman 2010-10-31 21:08:20