我有一个构建步骤,它是我的部署配置的一部分。我的同事告诉我,它曾在蓝色的月亮中工作过一次
当我运行此构建步骤时,我一直在不断地收到此错误:
Deleting dirPath (qa.comedy.net\aspnet_client\system_web\4_0_30319). [15:22:22]:
[VSMSDeploy] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.\We
\Microsoft.Web.Publishing.targets(3588, 5): Web deployment task failed.((3/28/2012 3:22:22 PM) An error occurred when the request was processed on the remote computer.)
Attempt to perform an unauthorized operation on file '4_0_30319'.
似乎正在尝试删除该文件夹 aspnet_client \ system_web \ 4_0_30319,但没有权限。
我们在虚拟机上运行此构建。
有关如何解决此问题的任何建议?
非常感谢所有帮助。
由于
答案 0 :(得分:13)
我将此问题部署为具有msdeploy和teamcity的站点。我通过从我的网站aspnet_client\system_web\4_0_30319
答案 1 :(得分:9)
是的,你可以删除这个文件夹,下一个部署也可以,但是下一个运行asp.net注册工具的windows更新作为安装的一部分,将把这个文件夹添加回IIS上的所有asp.net站点(带有不正确的权限) - 因此您的部署将再次失败。
可以避免这种情况答案 2 :(得分:3)
作为MemeDeveloper mentions in their answer,解决此问题的一种方法是简单地忽略该目录。实际上,这是最简单的修复,并且不需要向源代码控制存储库或构建输出添加任何内容。只需将以下内容添加到 msdeploy.exe 命令:
-skip:Directory="aspnet_client"
答案 3 :(得分:0)
我没有使用TeamCity,但我认为我还有这个问题。我试图使用VS2010 WebDeploy部署到Discount ASP.NET。在阅读了doglin和Dan发布的内容之后,我发现我可以通过选中“在目标上保留额外文件(不要删除)”框来解决此问题。这可能不是每个人的选择,但它对我有用。
答案 4 :(得分:0)
我在TeamCity中的WebDeploy期间遇到了同样的问题。我最终提升了WebDeploy帐户的权限,在该帐户下我执行WebDeploy任务。因此,该帐户有足够的权力删除这些文件夹(本地管理员角色)。