我在.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中使用某些功能。
但是怎么样?请建议。
答案 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();
}
}
}