【发布时间】:2012-09-20 13:26:44
【问题描述】:
关于Can I make the default AppDomain use shadow copies of certain assemblies?,它描述了一种在特定目录的默认 AppDomain 中激活卷影复制的工作解决方案。
基本上它说使用这些简单的方法:
AppDomain.CurrentDomain.SetShadowCopyPath(aDirectory);
AppDomain.CurrentDomain.SetShadowCopyFiles();
但是因为这里使用的方法被标记为过时,所以我想知道现在完成相同操作的正确方法是什么。警告消息提示:
请调查 AppDomainSetup.ShadowCopyDirectories 的使用情况
AppDomain 有一个名为 SetupInformation 的此类成员,它可能会将您带到这种简单的实现方式
AppDomain.CurrentDomain.SetupInformation.ShadowCopyDirectories = aDirectory;
AppDomain.CurrentDomain.SetupInformation.ShadowCopyFiles = "true";
很遗憾,这没有任何效果。 那么问题来了,有没有办法改变当前appdomain的AppDomainSetup来激活shadow copy?
【问题讨论】:
-
回答“不幸的是这没有效果。”(问了3年后,我知道),这是因为
SetupInformation属性创建了一个克隆 的内部FusionStore属性又是对用于初始化当前域的实际AppDomainSetup的引用。这个想法是,在初始化之后,这些属性就不能再被修改了(尽管我想知道为什么他们没有让它们成为 gettor-only 来表示这一点)。
标签: .net appdomain shadow-copy appdomainsetup