我已经阅读和实验了好几天。我买了最新版的“Inside the Microsoft Build Engine - Using MSBuild and Team Foundation Build”。我一直在试图通过查看构建目标来理清事情。
我很快就能在构建服务器上构建一个软件包,但我想指定安装文件夹,这样它就不会进入wwwroot目录。我读到了我需要将项目从使用cassini切换到本地IIS服务器。我都照做了。
我通过定义传递给msbuild的参数:
/p:DeployOnBuild=true /p:DeployTarget=Package /p:MSDeployPublishMethod=InProc /p:CreatePackageOnPublish=True /p:MsDeployServiceUrl=localhost
我有太多问题了,但我会从简单的开始。如果有人能提供帮助,我会非常感激。
如果构建服务器上没有命名的应用程序(不应该有!),则软件包创建失败。如果我添加相应的shell应用程序,则可以构建软件包。
即使我设法绕过#1,当我尝试使用Web.deploy.cmd部署时,它也会失败:
错误:不支持使用64位源和32位目标来提供程序appHostConfig。
请注意,构建服务器是64位的,而此目标服务器(开发)是32位的。我将生成配置文件构建为“any cpu”。哦,而且我正在从32位机器上调用部署,因此只有32位的msdeploy.exe可用。