我有以下的構建目標設定做我展開時發佈,由Hanselman在他的Tiny Happy Features #3提到,在許多其他地方也記作什麼,我認爲是推薦的方法:MSDeploy通過的MSBuild複製所有文件,而不是同步文件
msbuild my_web_application.csproj /p:Configuration=Production;
DeployOnBuild=true;
PublishProfile=Production;
VisualStudioVersion=11.0;
AllowUntrustedCertificate=true;
AuthType=NTLM
這做這項工作,並替換部署一步,我以前通過調用MS命令行上部署有:
msdeploy.exe" -source:package="c:\source_to_my_web_application.zip" -dest:auto,my_server_name,includeAcls="False" -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"c:\source_to_my_web_application\Package.SetParameters.xml"
我可以在這兩種方法中看到的最大的區別是,命令行調用只會pu sh修改有修改的文件,而msbuild調用每次都通過整個Web應用程序發送。
有沒有辦法讓msbuild版本做「同步」行爲,就像直接調用msdeploy爲我做的那樣?