2012-02-20 62 views
0

我有一个WCF项目,如果我使用Visual Studio选项“发布”得到公布罚款。MSBuild与DeployOnBuild和Visual Studio之间的差异发布

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

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

我使用的编译参数为:

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

我对这种情况下的主要问题是构建目标是相同的,并生成定义actualy发布的文件,但不知何故,他们不是相同。

任何见解?

+0

有什么区别? – 2012-02-21 03:34:42

+0

我真的发现了这个问题。构建过程将几个dll复制到项目文件夹。但是因为没有在TFS上签出的文件,他们没有在签入时发布。而且由于持续集成构建仅适用于TFS存储,所以文件不同步。 – 2012-02-21 11:34:13

+0

好吧,当然是“按设计”,很高兴你得到它的工作:) – 2012-02-22 05:03:30

回答

1

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

  1. 其中一个项目有一个生成后命令(因为使用依赖注入在运行时,它它不是一个参考 )对获得 DLL复制到另一个项目特定的目录。
  2. 的DLL文件没有得到签入到TFS,因为他们没有automaticaly结帐 的
  3. 持续集成构建从TFS获取来源和DLL是不同步的

的解决方案是签出建立之前的DLL,以便签入更新它们