C# ASP.NET Web サービスでネイティブ DLL (FastImage.dll) を使用しています。これには、IIS を停止して DLL を削除する必要があります。公開した Web サービスの bin フォルダーにあるこの DLL を削除できないため、(公開に成功したと見なされていても) 公開できず、開発とバグの修正が困難になります (特に、以前のコードを問題なく実行している場合)。変更がサーバーに反映されない場合があります!)。Web サービスが DLL を爆破してロックする原因となるバグは、前述の DLL の外部にある私のコードにあることに注意してください。そのため、これは FreeImage ライブラリよりも一般的な問題だと思います (それらに熱をもたらさないでください)。
- 誰もこれを経験しましたか?
- VS IDE から「発行に成功しました」と表示されたときにそれが本当に意味することを確認する方法、または発行を試みる前にファイルが実際に削除されていることを確認するスクリプトを実行する方法はありますか (プレビルドのように) VC++ のステップ)。(現在、古い DLL を実行するのではなく、DLL が置き換えられたことを確認するために、公開する前にファイルを手動で削除しています。DLL を削除できない場合でも、問題は残ります。)
- ファイルがバッチ ファイルから正常に削除されたかどうかを検出するにはどうすればよいですか? (IIS が失敗した場合は、IIS を停止して開始することができます)
- IIS をスクリプトから (できれば VS IDE の [公開] アクションから) 停止および開始することは可能ですか?