我认为问题标题几乎都说了,但为了清楚起见,我试图:
我一直试图通过微软的文档(这是非常无益的)来解决这个问题近一个星期,关于SO和一般谷歌搜索的其他答案。我不知道我是不是没有得到它(这是完全可能的),或者如果MSBuild / MSDeploy确实是它目前似乎是一个神秘的混乱。
有没有一种相当简单的方法来实现这一目标?求救!
答案 0 :(得分:33)
如果您运行的是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
,但我已经为您提供了手动命令行,以防您对使用新版本全部内容感兴趣出版物。