gpt4 book ai didi

asp.net - 部署PrecompiledApp问题

转载 作者:行者123 更新时间:2023-12-04 04:38:35 24 4
gpt4 key购买 nike

自动生成的PrecompiledApp.config使我有些头疼。
我将旧网站的部署自动化,并且在部署时有50%的时间自动出现此错误:

System.IO.IOException: The process cannot access the file '\\web.prod.local\c$\Sites\Website\PrecompiledApp.config' because it is being used by another process.

内容:
<precompiledApp version="2" updatable="true"/>

据我所知,网站使用一些卷影复制功能来允许更新网站“运行时”,例如app.config等。
但是,这1个文件似乎是个异常(exception)。

除了在部署过程中停止网站外,任何人都可以建议解决方法吗?

亲切的问候

最佳答案

从错误消息中的路径判断,我看到您正在尝试在部署时通过网络共享复制文件。 这是一种不好的做法,直接通过网络共享或FTP等更新文件。这实际上是原因。网络部署速度很慢,并且某些文件仍在更新/上传中-服务器上的ASP.NET已经在尝试回收应用程序,将文件复制到“临时ASP.NET文件夹”等,等等。

部署最佳实践:

将您的预编译站点压缩为ZIP,上传,然后在服务器上远程运行UNZIP

这是远程运行UNZIP的方法:

plink -ssh -l USERNAME -pw PASSWORD web.prod.local c:\Sites\Website\unzip -q -o c:\Sites\Website\site.zip -d c:\Sites\Website\

“plink”是Windows上的免费SSH工具(命令行),您需要在开发计算机上使用它

“web.prod.local”是您的服务器地址。

“c:\Sites\Website\”是您的网站在服务器上的路径

您需要在服务器上安装SSH才能远程运行命令,最简单的选择就是也安装免费工具:“freesshd”(使用谷歌浏览器)

将“unzip.exe”也拖放到服务器上,您会看到它在那里被调用。最简单的方法是将其直接放入c:\Sites\Website\

PS。这只是一个例子,您可以提出自己的解决方案

关于asp.net - 部署PrecompiledApp问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19398090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com