使用的MSBuild,如何建立从命令行一个MVC4溶液(涂敷的过程中的Web.config变换),并

2019-07-21 03:43发布

我认为问题标题非常说明了一切,但为了清楚起见,我想:

  1. 建立从所述命令行(MSBuild的)一个VS2010 ASP.NET MVC4溶液,指定解决方案配置(例如释放)
  2. 过程中应用该配置中的任何Web.config文件转换
  3. 将结果输出到一个文件夹在本地机器上(没有IIS,代理,zip文件,FTP,包等,只是包含所有运行该网站所需的文件的文件夹

我一直在想我们这出了将近一个星期,通过微软的文档(这是壮观无益),在SO和一般的谷歌搜索答案。 我不知道如果我只是没有得到它(这是完全有可能的),或者如果的MSBuild / MSDeploy真的是神秘的烂摊子它目前似乎是。

是否有一个相当简单的方式来实现这一目标? 请帮忙!

Answer 1:

如果你正在运行VS2010:确保你安装了Azure的1.7+ SDK(即使你不发布到Azure中,它增加了VS2012发布功能于VS2010)

VS2012 +具备这些特色的内置

msbuild ProjectFile.csproj /p:Configuration=Release ^
                           /p:Platform=AnyCPU ^
                           /t:WebPublish ^
                           /p:WebPublishMethod=FileSystem ^
                           /p:DeleteExistingFiles=True ^
                           /p:publishUrl=c:\output

或者,如果你正在构建的解决方案文件:

msbuild Solution.sln /p:Configuration=Release ^ 
                     /p:DeployOnBuild=True ^
                     /p:DeployDefaultTarget=WebPublish ^
                     /p:WebPublishMethod=FileSystem ^
                     /p:DeleteExistingFiles=True ^
                     /p:publishUrl=c:\output

无论哪种方式,您还可以设置/p:PrecompileBeforePublish=true ,输出将成为网站的一个预编译的版本。

一旦你安装在Azure SDK你通常会创建一个发布配置和简单的使用/p:PublishProfile=DeployToFolder但我给你的情况下,手动命令行,你不感兴趣,打算全在新出版的东西。



文章来源: Using MSBuild, how do I build an MVC4 solution from the command line (applying Web.config transformations in the process) and output to a folder?