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

发布于 2025-01-07 11:49:37 字数 485 浏览 0 评论 0原文

我有一个 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=****

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

有什么见解吗???

I have an WCF project that if i use the Visual Studio option "Publish" gets published fine.

But if I use the MSBuild parameter DeployOnBuild it does not get published correctly. I'm getting an "Could not load type" error, and all of de dlls are there.

I using the MSBuild in a Build Definition in order to have a Continuous Integration Build.

The build parameters I'm using are:

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

My main problem with this scenario is that the build targets are the same, and the build definition actualy publishes the files, but somehow they are not the same.

Any insights ???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

穿越时光隧道 2025-01-14 11:49:37

我不想回答我的问题,但因为它可能会帮助别人,这就是问题的原因。

  1. 其中一个项目有一个构建后命令来复制生成的结果
    dll 到另一个项目特定目录(它不是引用
    因为它在运行时使用依赖注入)。
  2. dll 未签入 TFS,因为它们不会自动签出
    持续集成
  3. 构建从 TFS 获取源,并且 dll 不同步

解决方案是在构建之前签出 dll,以便签入更新它们

I dont like to answer my on question, but since it may help someone else is the cause of the problem.

  1. One of the projects had a post-build command to copy the resulting
    dll to another project specific directory (its not a reference
    because it using dependency injection in runtime).
  2. The dlls did not get checked in to TFS because they are not checkout automaticaly
    The
  3. Continuous Integration Build fetches the sources from TFS and the dlls are out of sync

The solution was to checkout the dlls before the build so that the checkin updates them

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文