命令行
msbuild yoursolutionfile.sln /p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true
/p:PackageLocation="yourpath\yourfilename.zip"
DeployOnBuild 告诉 msbuild 进行部署(到包位置)
WebPublishMethod 创建部署包。您可以选择其他网络发布选项,例如文件复制。
PackageAsSingleFile 压缩输出
以上都是在命令行中运行的,虽然不是在 VS 中执行,但可以一步构建和部署。您可以打开一个命令窗口,您可以随时在其中运行此命令。
IN VS
您可以使用Web 部署发布向导 https://learn.microsoft.com/en-us/previous-versions/aspnet/dd465323(v=vs.110)在VS中。它位于构建菜单中。它还将引导您完成此操作的步骤。
然而,这只是在构建发生之后,并且是第二步。
要一次性完成这一切,那么,不“支持”通过 VS 在构建上进行 Web 发布。如同,这不是一个简单的方法。您可以运行我在构建后显示的 cmd,但这实际上意味着第二次重新编译,我认为这是一个可怕的想法,所以不要这样做,除非这是一个非常小的项目,即使这样,不,好吧,也许。
在VS中一步到位
返回 MSBUILD,但更改项目文件的 xml(msbuild 命令)。
首先创建您的发布配置文件(由发布向导创建的文件)。这实际上是从我的第一个示例中创建 msbuild 的设置,但将其保存到文件中。
然后编辑您的项目文件(csproj),如下所述@richardSzalay https://stackoverflow.com/questions/42761282/automatically-publish-web-application-on-build-from-visual-studio-2015 or @chief7 https://stackoverflow.com/questions/41816354/visual-studio-2013-build-and-publish
csproj文件是VS使用的msbuild命令。在这些示例中,您创建一些属性(propertygroup)来设置部署和 AfterBuild 目标来运行发布。