一个exe中可以调用另一个exe,或另一个exe的方法:
-------------用程序域实现:
AppDomain 类用于创建和中断应用程序域。
1建立控制台AssemblyA
 using System;
using System;

 namespace Wrox.ProCSharp.Assemblies.AppDomains
namespace Wrox.ProCSharp.Assemblies.AppDomains


 {
{
 class Class1
 class Class1

 
  {
{
 public Class1(int val1, int val2)
  public Class1(int val1, int val2)

 
   {
{
 Console.WriteLine("Constructor with the values {0}, {1}" +
   Console.WriteLine("Constructor with the values {0}, {1}" +
 " in domain {2} called", val1, val2,
    " in domain {2} called", val1, val2,
 AppDomain.CurrentDomain.FriendlyName);
    AppDomain.CurrentDomain.FriendlyName);
 }
  }
 [STAThread]
  [STAThread]
 static void Main(string[] args)
  static void Main(string[] args)

 
   {
{
 Console.WriteLine("Main in domain {0} called",
   Console.WriteLine("Main in domain {0} called",
 AppDomain.CurrentDomain.FriendlyName);
    AppDomain.CurrentDomain.FriendlyName);
 }
  }
 }
 }
 }
}

产生。exe。
2建立控制台DomainTest
 using System;
using System;
 namespace Wrox.ProCSharp.Assemblies.AppDomains
namespace Wrox.ProCSharp.Assemblies.AppDomains


 {
{
 class Test
    class Test

 
     {
{
 [STAThread]
        [STAThread]
 static void Main(string[] args)
        static void Main(string[] args)

 
         {
{
 AppDomain currentDomain = AppDomain.CurrentDomain;
            AppDomain currentDomain = AppDomain.CurrentDomain;
 Console.WriteLine(currentDomain.FriendlyName);
            Console.WriteLine(currentDomain.FriendlyName);
 AppDomain secondDomain =
            AppDomain secondDomain = 
 AppDomain.CreateDomain("New AppDomain");
                AppDomain.CreateDomain("New AppDomain");
 //    secondDomain.ExecuteAssembly("AssemblyA.exe");
        //    secondDomain.ExecuteAssembly("AssemblyA.exe");
 secondDomain.CreateInstance("AssemblyA",
            secondDomain.CreateInstance("AssemblyA", 
 "Wrox.ProCSharp.Assemblies.AppDomains.Class1", true,
                "Wrox.ProCSharp.Assemblies.AppDomains.Class1", true,
 System.Reflection.BindingFlags.CreateInstance,
                System.Reflection.BindingFlags.CreateInstance,

 null, new object[]
                null, new object[]  {7, 3}, null, null, null);
{7, 3}, null, null, null);

 }
        }
 }
    }
 }
}

结果:
DomainTest.exe
Constructor with the values 7, 3 in domain New AppDomain called
Press any key to continue
或
DomainTest.exe
Constructor with the values 7, 3 in domain New AppDomain called
Press any key to continue
---------------------用程序集的反射也可以实现一个exe调用另一个exe的方法!
:system.Type 可以访问任何给定的数据类型的信息
:system.Assembly访问给定程序集的元数据,也可以加载和执行程序集的方法