Azure DevOps部署后wwwroot上的访问被拒绝
我已经使用Azure DevOps将.Net核心web应用程序部署到Azure应用程序服务。现在,当我尝试使用Kudu在“D:\home\site\wwwroot”中创建文件时,它显示: 409冲突:无法写入本地资源“D:\home\site\wwwroot\anc>”,原因是“找不到文件“D:\home\site\wwwroot\anc”。” 我注意到“D:\home\site\wwwroot”目录中的任务与我使用发布配置文件部署的类似web应用中的任务不同 在有问题的应用程序上获取Acl结果:Azure DevOps部署后wwwroot上的访问被拒绝,azure,azure-devops,kudu,Azure,Azure Devops,Kudu,我已经使用Azure DevOps将.Net核心web应用程序部署到Azure应用程序服务。现在,当我尝试使用Kudu在“D:\home\site\wwwroot”中创建文件时,它显示: 409冲突:无法写入本地资源“D:\home\site\wwwroot\anc>”,原因是“找不到文件“D:\home\site\wwwroot\anc”。” 我注意到“D:\home\site\wwwroot”目录中的任务与我使用发布配置文件部署的类似web应用中的任务不同 在有问题的应用程序上获取Acl结果
PS D:\home\site\wwwroot> Get-Acl "D:\home\site\wwwroot"
Get-Acl "D:\home\site\wwwroot"
Directory: D:\home\site
Path Owner Access
---- ----- ------
wwwroot IIS APPPOOL\luncher-dev NT AUTHORITY\SYSTEM Allow FullControl...
在其他类似应用程序上获取Acl结果:
PS D:\home\site\wwwroot> Get-Acl "D:\home\site\wwwroot"
Get-Acl "D:\home\site\wwwroot"
Directory: D:\home\site
Path Owner Access
---- ----- ------
wwwroot BUILTIN\Administrators Everyone Allow DeleteSubdirectoriesAndFiles,...
来自Azure DevOps的相应发布管道
如何使wwwroot目录可写
不要写
当您在云中时,任何要wwwroot的文件。
因为Azure可以更改您的计算机/服务器,他们只需移动您的发布文件。不是发布后添加的文件。因此,您将丢失它们。当您作为zip部署时,无法编辑文件系统 以下引自 我根本不知道这个特性,更重要的是,这个设置隐藏在VSTS任务中,所以我没有注意到它。您需要展开Additional Deployment Options部分,然后单击SelectDeployment method复选框,默认情况下该复选框处于未选中状态。只有在这两次单击之后,您才能看到带有部署方法的下拉列表–ZipDeploy是默认的
我需要将其更改为使用WebDeploy,这样应用程序文件将作为普通文件存储,并且应用程序可以像以前一样在文件系统中写入。也有同样的问题,我花了很长时间才解决 见链接: 应用程序的应用程序设置“Web\u RUN\u FROM\u PACKAGE=1” 服务将应用程序的wwwroot文件夹设置为只读 我只是将其设置为0,重新启动应用程序,一切都恢复正常 我找到了另一个链接: 它处理特定的文件属性,但是,在从devops部署之后,我甚至无法编辑这些属性。因此,我相信这是一个修复特定文件被标记为只读 或 检查此链接: 它也可能是 网站\u运行\u从\u ZIP
应用程序设置。(这不是我的问题)更改此应用程序设置键
WEBSITE_RUN_FROM_PACKAGE = 1 to 0
此设置使wwwroot成为只读文件系统
使用Run From软件包时,由于wwwroot文件夹变为只读,因此严格执行此操作感谢您的响应。请举例说明你的答案。谢谢你的建议,但这不仅仅是关于创建新文件,还包括删除现有文件files@Tech-gayan,在哪里可以找到应用程序设置键?我无法从所在的包中找到网站\u RUN\u,请在Azure DevOps工具中帮助查找该网站好吗?@MdAslam这是一个应用程序设置。你可以在Azure中相关应用服务的配置部分找到它。非常感谢。我在Azure DevOps工具中进行了搜索。当我将1更改为0并保存设置时,我的网站没有运行,并出现类似的错误500.37?有什么原因吗?