使用FTP /共享文件夹部署ASP.NET Core网站时如何不会出现"ERROR_FILE_IN_USE"错误?

dfm*_*tro 6 deployment iis iis-8 asp.net-core-mvc asp.net-core

我有一个ASP.NET Core RTM针对的Web应用程序 .net framework 4.52

在我的 project.json

"frameworks": {
    "net452": {}
  },
Run Code Online (Sandbox Code Playgroud)

当我将它发布到一个文件夹时,它会创建一个MyWebApplication.exe,当我在浏览器中访问应用程序时,运行exe.

我需要将网站发布到具有Windows Server 2012和的Web服务器IIS8

我通过VPN共享文件夹访问网站部署目录.

我第一次将网站发布到它正常工作的文件夹.我访问网站网址并加载网站.但是,当我想在更改和复制文件后重新发布网站时,它告诉我MyWebApplication.exe正在使用并且发布失败.

我知道如何解决这个问题的唯一方法是在发布之前杀死MyWebApplication.exeWeb服务器上的任务管理器.但是,由于我只能通过共享目录访问该服务器,因此无法实现.

有了ASP.NET 4网站,我没有这个问题.

随着ASP.NET CORE RC1我还因为它是使用没有问题dnx虽然HTTPPlatformHandler这让我不必终止该网站复制dnx.exe.我只是不得不触摸web.config,网站将重新启动.

我的问题是:

  1. 有没有办法复制/发布已部署的站点的新更改版本(FTP或通过共享文件夹访问)?

  2. 有没有办法停止网站,例如MyWebApplication.exe通过FTP或共享文件夹访问从Web服务器上卸载内存?

dev*_*ric 5

ERROR_FILE_IN_USE错误是github上的一个未解决问题

只需在发布之前删除web.config的发布目录即可。

没有web.config的站点将自动停止并从内存中卸载文件,并且将阻止任何人再次访问URL将站点加载到内存中。

另一个解决方法是将一个app_offline.htm复制到您的发布目录,该目录也应正常工作。链接