使用 class 库的项目之间的通信

Communication between projects using class library

我正在寻找在不同的可执行文件之间进行通信的最佳方法。

我尝试过的方法是创建一个单独的 class 库,其中包含静态 class SharedVariables 和全局静态变量 MyVariable。然后,我将此项目添加为对 project1 和 project2 的引用,并引用 MyVariable。这编译得很好。

我遇到的问题是 运行 project1.exe 和 project2.exe(在同一目录中)。在 project1.exe 中,我将 SharedVariablesMyVariable 设置为 true,并在 project2 中有一个线程在 SharedVariables.MyVariable 设置为 true 时执行某些操作。 Project2 从未看到 SharedVariables.dll.

的这种变化

我是不是走错了路?我应该使用进程间通信解决方案吗?

进程之间的通信并不像在visual studio中添加对项目的引用那么容易。一旦应用程序被编译,它们就是两个不同的实体。看看进程间通信。在 C# 中,有 NamedPipeClientStreamNamedPipeServerStream。它们用于将信息从服务器发送到通常在本地计算机上的客户端。有了这个,您可以编写一些 "network" 代码来同步这两个值。