Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure DevOps部署后wwwroot上的访问被拒绝_Azure_Azure Devops_Kudu - Fatal编程技术网

Azure DevOps部署后wwwroot上的访问被拒绝

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结果

我已经使用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?有什么原因吗?