【问题标题】:Visual Studio 2013 Web Deploy failsVisual Studio 2013 Web 部署失败
【发布时间】:2013-11-09 06:59:27
【问题描述】:

我刚刚安装了 VS 2013,从 VS 2010 升级。创建一个用于 2010 年的 Web 部署包 zip 文件。使用 VS 2013 的发布 Web 功能发布到 Web 部署包,我收到以下错误:

Web 部署任务失败。 (“清单”类型的对象和路径 'D:\dev\DMWeb\DMWebClient\obj\Test\Package\DMWebClient.SourceManifest.xml' 无法创建。了解更多信息: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEPTION_WHILE_CREATING_OBJECT.)

Web Publish Activity 选项卡中的详细信息显示如下:

使用 D:\dev\DMWeb\DMWebClient\Web.Test.config 转换 Web.config 进入 obj\Test\TransformWebConfig\transformed\Web.config。 Auto ConnectionString 将 Views\Web.config 转换为 obj\Test\CSAutoParameterize\transformed\Views\Web.config。 Auto ConnectionString 将 obj\Test\TransformWebConfig\transformed\Web.config 转换为 obj\Test\CSAutoParameterize\transformed\Web.config.

将所有文件复制到以下临时位置以进行打包/发布:obj\Test\Package\PackageTmp。

打包成 D:\dev\DMWeb\DMWebClient\obj\Test\Package\DMWebClient.zip。

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(3883,5):

错误 ERROR_EXCEPTION_WHILE_CREATING_OBJECT:Web 部署任务失败。 (“清单”类型的对象和路径 无法创建“D:\dev\DMWeb\DMWebClient\obj\Test\Package\DMWebClient.SourceManifest.xml”。

了解更多信息: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEPTION_WHILE_CREATING_OBJECT.)

打包失败。

在 VS 2010 中,我必须以管理员身份运行它才能进行部署,我在这里也是这样做的。我还尝试将项目文件夹的完全控制权限授予 NETWORK SERVICE、LOCAL SERVICE、Authenticated Users 和我自己。

Package 文件夹中,有 PackageTmp 文件夹(看起来不错)和 DMWebClient.SourceManifest.xml 文件,以及而已。在 VS 2010 中,那里有更多文件。

DMWebClient.SourceManifest.xml 包含:

<?xml version="1.0" encoding="utf-8"?>
<sitemanifest>
  <IisApp path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp" />
  <setAcl path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp" setAclResourceType="Directory" />
  <setAcl path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp" setAclUser="anonymousAuthenticationUser" setAclResourceType="Directory" />
  <setAcl path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp\App_Data" setAclResourceType="Directory" setAclAccess="Write" />
  <setAcl path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp/DMWeb.config" setAclResourceType="File" setAclAccess="Read,Write" />
</sitemanifest>

在 VS 2010 中,包含 DMWeb.config 的最后一行不存在。最重要的是,通往它的道路是错误的。它应该在 App_Data 文件夹下。 DMWeb.configWeb.config 中指定如下:

<appSettings file="DMWeb.config">

任何帮助将不胜感激。

【问题讨论】:

  • 这很奇怪,我不知道为什么它会插入额外的 setAcl。 IIRC 我们有一段时间没有对 setAcl 进行任何更改。你需要这个包的 setAcl 吗?如果不是,您可以通过将 MSBuild 属性 IncludeSetAclProviderOnDestination 设置为 false 来禁用它。您可以在发布配置文件(.pubxml 文件)中执行此操作。
  • 说,感谢您的回答。请看下面我的回答。我有一个旧的wpp.targets 文件。删除它使其工作。 VS 2013 是否应用了它找到的任何 wpp.targets 文件?感谢 IncludeSetAclProviderOnDestination 提示。

标签: msdeploy visual-studio-2013 webdeploy


【解决方案1】:

我通过将安全性更新到 TLS 1.2 (X) 尝试了许多解决方案

从变量和密码中删除了* 或特殊字符。

但后来我发现,web.configconnectionString的密码里有*

我更改了密码,它开始为我工作。

【讨论】:

    【解决方案2】:

    Visual Studio 2019 中仍可能发生同样的异常。我的其他详细信息是 Object of type 'manifest' and path 'manifest xml hidden' cannot be created

    就我而言,问题是{ProjectName}.wpp.targets 文件中的MsDeployDeclareParameters 项目。它试图为下载文件夹设置 ACL 权限,但该文件夹不包含任何文件,因此它不存在于暂存区域中。

    将文件添加到下载文件夹解决了问题(就像从 {ProjectName}.wpp.targets 文件中删除 MsDeployDeclareParameters 条目一样)。

    【讨论】:

      【解决方案3】:

      上面的答案很好,关于 Lightswitch Web 部署...在任何地方都找不到任何关于它的信息...一直认为 MS 故意破坏了这个,因为他们不想再支持 LightSwitch ... 无论如何,一旦您完成了从 LightSwitch 模板发布主项目的步骤,就会出现一个新问题,即如果您推送到本地 IIS,则与发布参数有关。 对于所有为此苦苦挣扎的人...首先安装

      • httpPlatformHandler_amd64.msi
      • WebDeploy_amd64_en-US.msi

      然后,确保“Web 部署代理服务”作为服务运行 然后,在 Visual Studio(我在 VS2015 社区)中,在向导的“发布设置”选项卡上,确保您有这样的内容:

      1. 服务网址: http://localhost/MSDEPLOYAGENTSERVICE
      2. 网站/应用程序: 默认网站\trax01

      其中 trax01 是在默认网站下运行的网络应用程序的名称(请注意“trax01”之前的 反斜杠正斜杠 相比设置的标签。

      希望它对其他人有所帮助,因为这东西吃了我的肝脏! :)

      【讨论】:

        【解决方案4】:

        我想我会添加,因为其他答案都没有解决我的问题,尽管可能与 Lightswitch Web Deploy 的相关性比 ASP.NET Web Deploy 更相关(尽管 OP 没有指定哪个)。

        标准 Lightswitch 模板解决方案包含三个项目。其中两个可能被命名为lightswitchapp.HTMLClientlightswitchapp.Server。这些都不应该部署!你应该部署第三个项目lightswitchapp

        我遇到了这样的错误,这导致我访问了这个页面。

        Web 部署任务失败。 (无法创建“清单”类型的对象和路径“清单 xml 隐藏”。了解更多信息:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEPTION_WHILE_CREATING_OBJECT。)

        【讨论】:

          【解决方案5】:

          如果项目中的任何文件已从文件系统中移动、删除或重命名,导致 Visual Studio 不知道在哪里找到它们,也会发生这种情况。

          【讨论】:

          • 由于这个确切原因,我刚刚遇到此错误 - 我已将项目移动到不同的目录,而 pubxml 文件仍在引用相对于旧位置的部署后 SQL 脚本。
          【解决方案6】:

          发现我有一个来自 VS 2010 的旧 .wpp.targets 文件,它被称为 ~DMWebClient.wpp.targets。在 VS 2010 中,通过重命名它,它会忽略它而不应用它。无论文件名如何,VS 2013 似乎都应用了任何 .wpp.targets 文件。

          通过删除该文件,网络部署再次工作。

          【讨论】:

            【解决方案7】:

            我的错误几乎完全相同:

            C:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets (3883):Web 部署任务失败。 (“清单”类型的对象和 小路 'D:\B\280\Binaries_PublishedWebsites\ProjectName\ProjectName.SourceManifest.xml' 无法创建。了解更多信息: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEPTION_WHILE_CREATING_OBJECT.)

            我发现的原因是在 ProjectName.SourceManifest.xml 文件中。

            有一行:&lt;appHostConfig path="Default Web Site/ProjectName" /&gt;

            如果 buildmachine 上不存在此 webapp 和站点,则会发生错误。一旦我在同一个站点上创建了一个具有相同名称的虚拟 webapp 站点,它就构建了!

            并通过使用 MsBuild 参数删除该部分来解决:/p:IncludeIisSettings=false /p:IncludeAppPool=false(我将这 2 设置为 true,因此仅当您设置为 true 时才适用)

            【讨论】:

            • 谢谢,这与我遇到的问题完全相同。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-05-18
            • 1970-01-01
            • 2014-10-25
            • 1970-01-01
            • 2023-03-12
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多