msbuild 命令行尚不支持 WebPublishMethod(FileSystem)

Posted

技术标签:

【中文标题】msbuild 命令行尚不支持 WebPublishMethod(FileSystem)【英文标题】:WebPublishMethod(FileSystem) is not yet supported on msbuild command line 【发布时间】:2016-07-20 17:20:31 【问题描述】:

我正在使用带有运行 VS2015 的本地构建代理的 Visual Studio Team Services(在 visualstudio.com 上)。在我们的解决方案中,有 3 个网站将文件系统发布配置文件发布到开发、测试、演示环境,并应用了配置转换。

当在本地 VS2015 IDE 中运行时,它们可以正常工作。尝试从“Visual Studio Build”任务在 Team Services 在线的构建定义中发布相同的配置文件时,遇到以下错误:

尚不支持此特定的 WebPublishMethod(FileSystem) msbuild 命令行。请使用 Visual Studio 发布。

已为任务的 MSBuild 参数设置以下内容。

/p:DeployOnBuild=true /p:OutDir=$(build.artifactstagingdirectory) /p:PublishProfile=TestProfile

在谷歌上搜索了几个小时后,我找不到让构建任务克服错误的方法。

我们正在尝试做的是让网站部署到一个文件位置,并将配置转换应用于适当的环境。无法使用 Webdeploy 或 FTP,只能使用文件系统部署。

是否可以通过配置转换获取文件系统发布配置文件,以便从 Team Services 引导的本地构建代理工作?还是我需要以其他方式解决这个问题?

建议的副本不会遇到相同的问题或错误消息。在那个问题中,发布配置文件有效,只是没有提供操作所期望的文件,这个问题是关于这里报告的错误。

【问题讨论】:

Using msbuild to execute a File System Publish Profile的可能重复 建议的副本不会遇到相同的问题或错误消息。在那个问题中,发布配置文件有效,只是没有提供操作所期望的文件,这个问题是关于这里报告的错误。 链接的问题足够相似,可以为同一问题提供潜在的解决方案。我还提供了一个对我有用的可能答案(tm)。 【参考方案1】:

在我的情况下,publishUrl 配置不正确。

【讨论】:

【参考方案2】:

`

\path\to\msbuild 
   /p:Configuration=Release 
   /p:DeployOnBuild=true 
   /p:PublishProfile=CI_RELEASE 
   /p:VisualStudioVersion=12.0
   optional.sln

除了路径和格式,上述方法对我有用,我之前也因为使用“文件系统”部署方法而遇到发布错误。

我通过使用此处找到的网络发布更新解决了这个问题:

http://go.microsoft.com/fwlink/?LinkID=208120

确实安装了大量与 Azure 相关的垃圾,但它似乎确实为我解决了这个问题。

【讨论】:

【参考方案3】:

我遇到了同样的错误。但在我的情况下,罪魁祸首是我设置了 /p:OutDir="" (又名空字符串 - doh!)。一旦我解决了这个问题,一切都开始按预期工作。只是我的 2c。

【讨论】:

以上是关于msbuild 命令行尚不支持 WebPublishMethod(FileSystem)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 错误:准备好的语句协议尚不支持此命令

只有 msbuild 14 或 msbuild 15 支持 SonarQube 分析

在严格模式之外尚不支持块范围声明

Docs-VisualStudio-MSBuild-MSBuild参考:MSBuild 命令行参考

MSBuild - 在构建中集成跨平台编译器

错误:数据绑定尚不支持 Jack 构建