我认为问题标题几乎都说了,但为了清楚起见,我试图:
>从命令行(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但我已经为您提供了手动命令行,以防您对使用新发布内容全部内容感兴趣.