关于 tfsbuild:MSBuild 与 DeployOnBuild 和 Visual Studio Publish 的区别

Difference between MSBuild with DeployOnBuild and Visual Studio Publish

我有一个 WCF 项目,如果我使用 Visual Studio 选项 "Publish" 会很好地发布。

但如果我使用 MSBuild 参数 DeployOnBuild,它不会正确发布。我收到一个"无法加载类型"错误,并且所有的 de dll 都在那里。

我在构建定义中使用 MSBuild 以便进行持续集成构建。

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

1
2
3
4
5
6
/p:DeployOnBuild=true
/p:DeployTarget=MSDeployPublish
/p:MSDeployPublishMethod=RemoteAgent
/p:MsDeployServiceUrl=http://host/msdeployagentservice
/p:username=#####
/p:password=****

我对这种情况的主要问题是构建目标相同,构建定义实际上发布了文件,但不知何故它们不一样。

任何见解???


我不喜欢回答我的问题,但是因为它可能对其他人有帮助是问题的原因。

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