gpt4 book ai didi

msbuild - Web 部署 - 使用相对路径进行本地文件系统部署

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

我想使用 Web Deploy 来运行自定义部署设置。

由于我希望在许多不同的环境(团队成员本地计算机、4 个不同的构建服务器)上运行时使这项工作正常进行,因此我想部署到相对的本地路径。

我想做的是:

  • 部署到本地相对路径
  • 让构建后的步骤做一些神奇的事情...

  • 但是,当我输入要部署到的本地文件路径时:“..\Deploy_Production”

    web deploy 提示这个:
    2>Connecting to ..\Deploy_Live...
    2>Unable to create the Web site '../Deploy_Live'. The URL http://:0 is invalid.

    就好像 Web deploy 认为相对文件路径是一个网站 URL。改用“..\”对我的事业没有帮助。

    如何让 WebDeploy 部署到本地相对路径?

    编辑 1:

    我曾尝试在构建之前使用 ConvertToAbsolutePath 任务,但无济于事:
      <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <SiteUrlToLaunchAfterPublish>http://mywebsite.com</SiteUrlToLaunchAfterPublish>
    <publishUrl>..\Deploy_Production</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
    </PropertyGroup>

    <Target Name="BeforeBuild">
    <ConvertToAbsolutePath Paths="$(publishUrl)">
    <Output TaskParameter="AbsolutePaths" PropertyName="publishUrl" />
    </ConvertToAbsolutePath>
    </Target>

    编辑 2:
    以上工作,但仅当针对解决方案文件而不是项目文件运行命令行构建时

    最佳答案

    我们这里有一个错误,当使用文件系统发布时,您必须提供完整路径。我们实际上在本周早些时候发现了这个错误。它将在我们的下一次更新中修复。在这种情况下,当传递相对路径时,它错误地认为它是一个 IIS 路径。

    作为一种解决方法,您可以编辑 .pubxml 使 publishUrl 成为完整路径。幸运的是,您可以使用 MSBuild 属性,以便在团队方案中使用。这是你应该做的,编辑你的 .pubxml 文件并更新 publishUrl 的值成为以下。

    <publishUrl>$(MSBuildThisFileDirectory)..\..\..\Deploy_Production</publishUrl>

    此路径将相对于 .pubxml 文件本身。我已经验证这在命令行和发布对话框中都有效。如果您对此有任何问题,请告诉我,但修复程序有望在几个月内发布 [当然不保证 :)]。

    关于msbuild - Web 部署 - 使用相对路径进行本地文件系统部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12024512/

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