MSBuild与DeployOnBuild和Visual Studio Publish之间的区别

时间:2012-02-20 15:20:15

标签: msbuild tfsbuild msdeploy

我有一个WCF项目,如果我使用Visual Studio选项“发布”就可以正常发布。

但是,如果我使用MSBuild参数DeployOnBuild,则无法正确发布。我收到了“无法加载类型”错误,并且所有de dll都在那里。

我在构建定义中使用MSBuild以实现持续集成构建。

我正在使用的构建参数是:

/p:DeployOnBuild=true 
/p:DeployTarget=MSDeployPublish 
/p:MSDeployPublishMethod=RemoteAgent 
/p:MsDeployServiceUrl=http://host/msdeployagentservice 
/p:username=##### 
/p:password=****

这个场景的主要问题是构建目标是相同的,构建定义实际上是发布文件,但不知何故它们不一样。

任何见解???

1 个答案:

答案 0 :(得分:1)

我不想回答我的问题,但因为它可能会帮助其他人成为问题的原因。

  1. 其中一个项目有一个post-build命令来复制结果 dll到另一个项目特定目录(它不是引用 因为它在运行时使用依赖注入。)
  2. dll没有签入TFS,因为它们不是自动结账 在
  3. 持续集成构建从TFS获取源并且dll不同步
  4. 解决方案是在构建之前检查dll,以便checkin更新它们