我有一个应用程序,我需要在其中创建AppDomain和Load Assembly并执行Assembly中的方法 .
这是我的代码
public class CreateAppDomain
{
public void CreateAppDom()
{
AppDomain domain = AppDomain.CreateDomain("myDomain");
domain.ExecuteAssembly(@"C:\Visual Studio 2005\Projects\A1\A1\bin\Debug\A1.dll");
domain.CreateInstanceFrom(@"C:\Visual Studio 2005\Projects\A1\A1\bin\Debug\A1.dll","A1.Navigate");
}
}
我上面的代码是在一个名为CreateAppDomain.cs的类文件中编写的
在我的Default.aspx页面中,我创建了上面类的实例并调用了create方法 . 这是代码
protected void Button1_Click(object sender, EventArgs e)
{
CreateAppDomain obj = new CreateAppDomain();
obj.CreateAppDom();
Response.Write("Application Domain Successfully created");
}
当我运行default.aspx页面时,我收到一个错误说
在程序集'A1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'中找不到入口点 .
任何人都可以向我解释上述错误的含义及其解决方案 .
谢谢,
1 回答
AppDomain.ExecuteAssembly()
方法将程序集加载到指定的域中,然后执行它的标准入口点,即static void Main(string[] args)
方法 .请查看here了解详情 .
你想要什么可能是CreateInstanceAndUnwrap() method的重载之一
编辑:
我创建了ConsoleApplication9,除了ClassLibrary1之外还添加了它 . 在ClassLibrary1中我有
Class1
:在ConsoleApplication9中这些是:
跑步时,我有:
试图在远程域中运行方法...
Class1的程序集名称为:ClassLibrary1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null
输入name:ClassLibrary1.Class1
远程实例已创建 . 运行Go()方法:
我的AppDomain的FriendlyName是:我的远程域名