首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web部署-使用相对路径进行本地文件系统部署

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

Stack Overflow用户
提问于 2012-08-19 05:47:49
回答 1查看 11.5K关注 0票数 25

我希望使用Web来运行自定义部署设置。

由于我希望在许多不同的环境(团队成员、本地机器、4台不同的构建服务器)上运行时能够很好地完成这项工作,所以我希望部署到一个相对的本地路径。

我想做的是:

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

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

web部署抱怨如下:

代码语言:javascript
复制
2>Connecting to ..\Deploy_Live...
2>Unable to create the Web site '../Deploy_Live'.  The URL http://:0 is invalid.

这就好像Web部署认为相对文件路径是一个网站URL。相反,使用"..\“无助于我的事业。

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

编辑1:

在构建之前,我尝试过使用ConvertToAbsolutePath任务,但没有结果:

代码语言:javascript
复制
  <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:上面的工作,但只有当运行命令行生成的解决方案文件,而不是一个项目文件

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-19 18:44:33

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

作为解决办法,您可以编辑.pubxml以使publishUrl成为完整的路径。幸运的是,您可以使用MSBuild属性,以便在团队场景中工作。下面是您应该做的事情,编辑您的.pubxml文件并更新publishUrl的值如下。

代码语言:javascript
复制
<publishUrl>$(MSBuildThisFileDirectory)..\..\..\Deploy_Production</publishUrl>

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

票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12024512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档