有關Can I make the default AppDomain use shadow copies of certain assemblies?,它描述了一個工作解決方案來激活特定目錄的默認AppDomain內的影子複製。什麼是爲默認AppDomain設置影子複製的正確方法
基本上它說,使用這些簡單的方法:
AppDomain.CurrentDomain.SetShadowCopyPath(aDirectory);
AppDomain.CurrentDomain.SetShadowCopyFiles();
但由於這裏使用的方法被標記爲過時我不知道現在是什麼來完成相同的正確方法。警告信息提示來:
請調查使用AppDomainSetup.ShadowCopyDirectories代替
一個AppDomain擁有這種類型稱爲SetupInformation
的成員,這可能會爲你帶來這種簡單的實現
AppDomain.CurrentDomain.SetupInformation.ShadowCopyDirectories = aDirectory;
AppDomain.CurrentDomain.SetupInformation.ShadowCopyFiles = "true";
不幸的是,這沒有效果。 所以問題是,有沒有辦法改變當前appdomain的AppDomainSetup來激活陰影複製?
要回答_「不幸的是,這沒有效果。 「_(詢問3年後,我知道),這是因爲'SetupInformation'屬性創建了一個_Clone_內部'FusionStore'屬性,該屬性反過來是對用於初始化當前域的實際'AppDomainSetup'的引用。想法是,初始化後,這些屬性不能再被修改(雖然我想知道他們爲什麼沒有使它們成爲gettor,只是爲了表示這一點)。 – Abel