MSbuild 命令不会创建 Web 部署包,但 Visual Studio IDE 可以

Del*_*ras 1 msbuild visual-studio webdeploy

我已经尝试了几个不同的 MSBuild 命令和版本,但仍然无法从中生成 Web 部署包。但是,我可以使用相同的解决方案和 pubxml 文件通过 Visual Studio 2017 创建一个。

我尝试过的:

我一定在命令行中遗漏了一些东西,但我不知道是什么。以下是我尝试过的命令:

/p:DeployOnBuild=true
/p:PublishProfile=<location of pubxml file>
/p:PackageLocation=<where to put zip>
/T:Package
/p:PackageAsSingleFile=true
/p:WebPublishMethod=Package
Run Code Online (Sandbox Code Playgroud)

以及来自 .Net 4.5、VS2017 和 VS2015 的 MSBuild 版本的各种组合。

Leo*_*SFT 6

MSbuild 命令不会创建 Web 部署包,但 Visual Studio IDE 可以

您正在部署的项目类型应该是WebSite. 网站项目的发布过程并未纳入构建过程。在 VS 中创建发布配置文件时,会创建以下内容:

1) App_Data/PublishProfiles 下的发布配置文件(.pubxml 文件)。

2)网站根目录下的website.publishproj

website.publishproj 的目的是促进命令行发布。所以发布文件应该是 website.publishproj 而不是 WebSite1.sln 文件。所以发布命令行应该是:

msbuild.exe "website.publishproj" /p:DeployOnBuild=true /p:PublishProfile=FolderProfile /p:PackageLocation="D:\LocalServer\web1.zip" /T:Package /p:PackageAsSingleFile=true /p:WebPublishMethod=Package
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

之后,您会注意到 MSBuild 创建的 web 部署包到PackageLocation

在此处输入图片说明