我创建了一个控制台应用程序,并使用下面的代码创建一个新的AppDomain,并在文件夹中保留了一些dll(示例)。现在我正在尝试将这些dll从文件夹移动到新创建的Appdomain。将这些dll移动到新的appdomain后,我想创建另一个新的AppDomain1再次将dll从文件夹移动到这个新的AppDomain1。创建两个不同的appdomains后,现在我想要新创建的appDomains列表,以及每个新appDomins.Below中加载的dll列表是代码,我尝试使用创建一个新的appdomain。让我知道谁可以获得。
using mscoree;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace AssemblyLoader
{
class Class1
{
static void Main(string[] args)
{
string Source = @"C:\dlls\"; //Here I kept my dlls
string[] serverdlls = Directory.GetFiles(Source); // getting all the dll from location
var newDomain = AppDomain.CreateDomain("newDomain0122");//Here I m creating New Domain after creating new domain want to move dll's from source folder to this newly created domain
var asmLoaderProxy = (ProxyDomain)newDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(ProxyDomain).FullName);
foreach (string dll in serverdlls)
{
asmLoaderProxy.GetAssembly(dll);
}
}
}
class ProxyDomain : MarshalByRefObject
{
public void GetAssembly(string AssemblyPath)
{
try
{
Assembly.LoadFrom(AssemblyPath);
}
catch (Exception ex)
{
throw new InvalidOperationException(ex.Message, ex);
}
}
}
}