是否有任何方法可以配置初始AppDomain
本文关键字:配置 AppDomain 任何 方法 是否 | 更新日期: 2023-09-27 17:59:47
我想这样做,以便我的主AppDomain将ShadowCopyAssemblies
设置为true。
我能做些什么吗(例如,我可能缺少一个清单设置),让我的可执行文件中加载的第一个AppDomain将该属性设置为true,或者是我创建第二个AppDomain并让我的程序在第二个域中完成大部分工作的唯一选择?
目标环境是一个自托管服务,但知道如何为Console或windows应用程序提供服务也很好。
发布问题后,我发现这是一个可以传递到App.config
文件的设置。您需要做的是设置配置设置<appDomainManagerType>
和<appDomainManagerAssembly>
,并将其指向包含AppDomainManager的第二个程序集。
配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
<appDomainManagerType value="DomainManager.ShadowDomainManager" />
<appDomainManagerAssembly
value="DomainManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</runtime>
</configuration>
经理:
using System;
namespace DomainManager
{
public class ShadowDomainManager : AppDomainManager
{
public override void InitializeNewDomain(AppDomainSetup appDomainInfo)
{
base.InitializeNewDomain(appDomainInfo); //Currently does not do anything.
appDomainInfo.ShadowCopyFiles = "true";
}
}
}
这样做将导致初始域加载ShadowCopyFiles
设置为true。