2016-05-03 7 views
0

私はサーバ上にプログラムを持っています(例えば\\192.168.0.1\sharefolder\test.exe)。私はプログラムのショートカットをクライアントに入れました。ユーザーはそのショートカットでプログラムを実行できます。サーバーで自分のプログラムを更新したいときは、「ファイルが使用中です」というエラーが表示されます。サーバー上で(ショートカットで)自分のプログラムを実行するクライアントのすべてのプロセスを削除するにはどうすればいいですか? 私はこのコードを使用:こんにちは、サーバでプログラムを実行する(ショートカットで)クライアントのすべてのプロセスを強制終了するには

答えて

0

Mahyar ..

foreach (var process in Process.GetProcessesByName("quartus_pgm")) 
{ 
     process.kill(); 
} 
//file.delete(); 

をしかし、このコードは、唯一のサーバー上で実行中のプロセスを強制終了し、まだ私はプログラムを更新することはできませんとエラーが発生するため、このコードは十分ではありません!

.NETで提供されている「シャドウコピーアセンブリ」メカニズムを使用することをお勧めします。いくつかのdll(すべてのロジック/ UI /があるライブラリ)で参照されている1つのapp(exe)があります。 2.アプリケーションを停止せずにdllを置き換えることができます(exe)。

詳しくは、MSDN articleをお読みください。

このアプローチでは、アプリのリファクタリングが必要な場合があります。

+0

ありがとうございました。 – Mahyar

関連する問題