Dou*_*oug 25 msbuild msdeploy webdeploy
我想使用Web Deploy来运行自定义部署设置.
因为我想在许多不同的环境(团队成员本地机器,4个不同的构建服务器)上运行时能够正常工作,我想部署到相对的本地路径.
我想要做的是:
但是当我输入本地文件路径以部署为:"..\Deploy_Production"
Web部署抱怨:
2>Connecting to ..\Deploy_Live...
2>Unable to create the Web site '../Deploy_Live'. The URL http://:0 is invalid.
Run Code Online (Sandbox Code Playgroud)
它就好像Web部署认为相对文件路径是网站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>
Run Code Online (Sandbox Code Playgroud)
编辑2: 上述工作,但只有在针对解决方案文件而不是项目文件运行命令行构建时
Say*_*imi 44
我们这里有一个错误,当使用文件系统发布时,您必须提供完整路径.我们本周早些时候发现了这个bug.它将在我们的下一次更新中修复.在这种情况下,当相对路径通过时,它错误地认为它是一个IIS路径.
作为一种解决方法,您可以编辑.pubxml以使publishUrl成为完整路径.幸运的是,您可以使用MSBuild属性,以便在团队方案中使用它.您应该执行以下操作,编辑.pubxml文件并更新以下值publishUrl.
<publishUrl>$(MSBuildThisFileDirectory)..\..\..\Deploy_Production</publishUrl>
Run Code Online (Sandbox Code Playgroud)
此路径将相对于.pubxml文件本身.我已经验证了这在命令行和发布对话框中都有效.如果您对此有任何疑问,请告诉我,但修复程序应该会在几个月内发布[当然不保证:)].
| 归档时间: |
|
| 查看次数: |
10138 次 |
| 最近记录: |