我有一个针对const
ASP.NET Core RTM
网络应用程序
在我的.net framework 4.52
project.json
当我将其发布到文件夹时,它会创建一个"frameworks": {
"net452": {}
},
,当我在浏览器中访问应用程序时,exe就会运行。
我需要将网站发布到具有MyWebApplication.exe
和Windows Server 2012
我通过VPN共享文件夹访问网站部署目录。
我第一次将网站发布到它正常工作的文件夹。我访问网站网址并加载网站。但是,当我想在更改和复制文件后重新发布网站时,它告诉我IIS8
正在使用中并且发布失败。
我知道如何解决这个问题的唯一方法是在发布之前杀死Web服务器上任务管理器中的MyWebApplication.exe
。但是,由于我只能通过共享目录访问该服务器,因此无法实现。
使用MyWebApplication.exe
个网站,我不会遇到此问题。
使用ASP.NET 4
我也没有遇到问题,因为它使用ASP.NET CORE RC1
虽然dnx
允许我复制网站而不必杀死{{1} }}。我只需要触摸HTTPPlatformHandler
,网站就会重新启动。
我的问题是:
有没有办法复制/发布已部署的网站的新更改版本(FTP或通过共享文件夹访问)?
有没有办法停止网站,例如通过FTP或共享文件夹访问从Web服务器的内存中卸载dnx.exe
?
答案 0 :(得分:4)
ERROR_FILE_IN_USE
错误是github上的open issue
在发布之前,只需将web.config删除发布目录即可。
如果没有web.config,该网站将自动停止并从内存中卸载文件,并阻止任何人再次访问该网站将该网站加载到内存中。
另一种解决方法是将app_offline.htm复制到您的发布目录,该目录也可以正常工作。 Link
答案 1 :(得分:1)
我通过在托管上停止我的网络应用来决定这个问题。在这一切都成功发布之后。
答案 2 :(得分:0)
您应该将此添加到您的发布个人资料:
<EnableMSDeployAppOffline>True</EnableMSDeployAppOffline>