我在服务器上有一个程序(例如\\192.168.0.1\sharefolder\test.exe
)。我把程序的快捷方式放到了客户端。用户可以通过该快捷方式运行程序。当我想在服务器中更新我的程序时,会出现一个错误,说"正在使用的文件" ..现在,如何在服务器上杀死运行我的程序(通过快捷方式)的客户端中的所有进程。
我使用这段代码:
foreach (var process in Process.GetProcessesByName("quartus_pgm"))
{
process.kill();
}
//file.delete();
但是这段代码还不够,因为这段代码只会杀死在服务器上运行的进程,但仍然无法更新程序并且发生错误..
答案 0 :(得分:0)
Mahyar,你好!
我建议你使用" Shadow Copying Assemblies" .NET提供的机制。简而言之: 1.你有一个应用程序(exe),在几个dll(具有所有逻辑/ UI / ...的库)上引用。 2.你可以在不停止app(exe)的情况下替换dll。
有关详细信息,请参阅此MSDN article。
这种方法可能需要对您的应用进行一些重构。