web-dev-qa-db-ja.com

Webサーバーを停止せずに、既存の/実行中のサイトでASP.NET Coreアプリを更新するにはどうすればよいですか?

テストサーバーで実行されているASP.NETCoreサイトがあり、XCopyによってIIS Webサーバーに自動展開します。現在のアプリと同じように、既にサイトがあります。実行中。ソリューション内の「publish-local」ディレクトリにサイトをパッケージ化する公開プロファイルを追加しました。既存のサイトをコピーしようとすると、すべてのDLLが別のプロセス(おそらくKestrel)によって使用されているため、兄弟ディレクトリに展開し、再マップすることを余儀なくされましたIIS兄弟を確認します。Kestrelまたは=のいずれかに手動で介入して停止することなく、実行中のASP.NETCoreサイトを更新するにはどうすればよいですか。 IIS Webサーバー?

15
flipdoubt

IIS)で実行している場合、app_offline.htm(大文字と小文字を区別)というファイルをアプリケーションフォルダーにドロップできます。IISはアプリケーションを停止し、サービスを提供しますapp_offline.htmlファイルの内容。これでアプリケーションをコピーできます。終了したらapp_offline.htmlを削除すると、IISがアプリを起動します。これについては docs および 私の投稿 IISでAsp.NETCoreアプリを実行する場合。

11
Pawel

私たちが使用するちょっとしたチートは、最初に古いファイルの名前を変更し(my.dll.oldのようなもの)、次に新しいdllをコピーすることです。次に、アプリプールの再起動を強制するか、待機することができます。

0
Mike_G