我认为问题标题非常说明了一切,但为了清楚起见,我想:
- 建立从所述命令行(MSBuild的)一个VS2010 ASP.NET MVC4溶液,指定解决方案配置(例如释放)
- 过程中应用该配置中的任何Web.config文件转换
- 将结果输出到一个文件夹在本地机器上(没有IIS,代理,zip文件,FTP,包等,只是包含所有运行该网站所需的文件的文件夹 )
我一直在想我们这出了将近一个星期,通过微软的文档(这是壮观无益),在SO和一般的谷歌搜索答案。 我不知道如果我只是没有得到它(这是完全有可能的),或者如果的MSBuild / MSDeploy真的是神秘的烂摊子它目前似乎是。
是否有一个相当简单的方式来实现这一目标? 请帮忙!
如果你正在运行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?