使用与DLL相同的EXE应用程序到其他应用程序

时间:2016-08-19 09:27:16

标签: c# .net windows tsql

我在.Net中要求以.EXE(可执行文件说是A.EXE)运行的应用程序在另一个应用程序中使用,该应用程序又是另一个.EXE(可执行文件说是B.EXE)

此外,A使用第三方API,需要强制运行以便A.EXE运行。

现在,我们正在安排从B打开A作为可执行文件。应用程序以exe开放。这使得三个可执行文件可以同时运行以实现小功能。 (A.EXE,B.EXE和someAPI.EXE)

如果没有同时打开这么多应用程序,是否有可能实现更好的设计。 当然,我们无法避免与thridparty API的依赖关系,但是我们可以修改A使其以EXE运行,并且还可以在B.EXE中使用某些功能。

但是怎么样?请建议。

2 个答案:

答案 0 :(得分:1)

我会将A.EXE和B.EXE使用的所有功能放在一个程序集中(让它命名为SharedFunctionality.dll)。所以这两个exe都可以让我们组装和A.EXE可以另外使用第三方API。

答案 1 :(得分:0)

可执行的.Net程序集可以被另一个.Net程序集用作库,就好像它是.dll一样。您只需要像使用库一样公开API。

说,您已经在A中的DoTheBusiness()方法中获得了所需的功能,然后您可以在公共API类中公开它并在A和B中使用它。但是不要在A和B中使用它。忘记在B&B项目中引用A.exe(或A.*proj)。

简化A:

namespace A
{
    public class Aapi
    {
        public static void DoTheBusiness()
        {
            Console.WriteLine("Aapi::DoTheBusiness: DONE!");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Aapi.DoTheBusiness();
        }
    }
}

简化B:

namespace B
{
    class Program
    {
        static void Main(string[] args)
        {
            A.Aapi.DoTheBusiness();
        }
    }
}