WCF サービスは Windows サービスでホストされます。よりスムーズな開発のために、サービスはnet stop [Service]
ビルド前のタスクで停止され、ビルド後のタスクでアンインストール、インストール、開始されます。
問題:
net stop [Service]
プロセスが完全に終了し、すべてのリソースが解放されるまで待機しません。この動作は、たとえばここに文書化されています。その結果、サービスがコンパイルされると、bin ディレクトリ (サービスが存在する場所) 内のバイナリはロックされたままになり、新しいコピーで上書きできなくなります。
net stop
リソースが解放されるまでプレビルドを待機させ、その後に戻す簡単な方法はありますか? プロセス ID を取得して終了するのを待つこともできますが、このような単純な作業を行うには少し手間がかかります。