gpt4 book ai didi

iis - dotnet 发布错误 : The process cannot access the file because it is being used by another process

转载 作者:行者123 更新时间:2023-12-03 23:11:05 24 4
gpt4 key购买 nike

尝试运行 dotnet publish 时出现以下错误:

The process cannot access the file because it is being used by another process.



当您尝试发布您的应用程序并且您一直在浏览器中查看已发布的版本时,似乎会发生这种情况,由于某种原因它锁定了文件。

完整的错误信息:

C:\Program Files\dotnet\sdk\2.2.301\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Publish.targets(169,5): warning MSB3026: Could not copy "obj\Debug\netcoreapp2.2\TemplateWebApp.dll" to "bin\Debug\netcoreapp2.2\publish\TemplateWebApp.dll". Beginning retry 1 in 1000ms. The process cannot access the file '\cpft-bi-web01\d$\Websites\TemplateWebApp\bin\Debug\netcoreapp2.2\publish\TemplateWebApp.dll' because it is being used by another process. [\cpft-bi-web01\d$\Websites\TemplateWebApp\TemplateWebApp.csproj]



我可以通过关闭浏览器并在 IIS 管理器上重新启动网站来解决这个问题,但这真的不理想,有人知道这是什么原因吗?

最佳答案

为了解决它,我回收了apppool。

在本地环境中,我有一个构建后事件 Project -> Properties -> Build Events -> Post-build event command line ,运行 .bat位于项目目录中的文件。

这是bat文件中的代码:

%SYSTEMROOT%\System32\inetsrv\appcmd recycle apppool /apppool.name:"YOUR APP POOL NAME"
dotnet publish --force --no-build
pause

只要确保您更换 YOUR APP POOL NAME使用您的实际池名称(并保留双引号)

所以每次我构建解决方案时,它都会回收池并发布应用程序。因为我只是构建应用程序(就在发布之前),所以我指定 --no-build发布命令。

关于iis - dotnet 发布错误 : The process cannot access the file because it is being used by another process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57062184/

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