首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有部署svc、xml。

没有部署svc、xml。
EN

Stack Overflow用户
提问于 2011-08-01 05:46:55
回答 1查看 833关注 0票数 0

我在发布CI (巡航控制)的WCF服务方面有问题。

假设我有一个名为" WCF -A“的WCF项目。我在"WCF-A“的csproj中放了以下几行

代码语言:javascript
复制
<Target Name="BeforeBuild">
    <Message Text="##############Before build##################" Importance="high" />
    <RemoveDir Directories="publish" ContinueOnError="true" />
  </Target>
  <Target Name="AfterBuild">
    <Message Text="##############After build##################$(OutputFolder)" Importance="high" />
    <MSBuild Projects="$(ProjectName).csproj" Targets="ResolveReferences;_CopyWebApplication" Properties="WebProjectOutputDir=publish\;OutDir=publish\bin\" />
</Target>

我使用下面的命令行构建我的服务。(请注意,我们使用CI,但为了简化问题,我将使用命令行。)

代码语言:javascript
复制
E:\..\Code\>msbuild MyServices.sln /t:Clean;Rebuild

它工作得很好,所有程序集、跨域xml、svc文件都在“发布”文件夹下发布。

当我在解决方案文件中添加另一个服务(让我们称之为"WCF-B")时,问题就出现了。编辑我在WCF中也添加了同样的"BeforeBuild“和"AfterBuild”。/Edit I项目-参考WCF-A从“WCF-B”.但是,当我使用相同的命令构建解决方案时,"WCF-B“的发布工作正常。但是"WCF-A“的跨域文件和svc文件不再被部署。只有"WCF-A“的程序集在”发布\bin“文件夹下发布。

你们知道为什么会这样吗?提前谢谢。

编辑

我认为有“项目引用”会造成这个问题..。但是我需要投影引用,而不是从代理类调用服务。由于这两个服务将托管在同一个服务器上,我更喜欢dll-引用而不是服务调用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-01 16:46:04

看起来WCF-A的文件被WCF-B的BeforeBuild目标删除了(假设发布目录解析到同一个目录),并且程序集WCF-A不能被删除,因为它被WCF-B引用并在使用中。

为了获得更多信息,您可以尝试使用/v:d甚至/v:diag来增加日志的详细程度。

代码语言:javascript
复制
E:\..\Code\>msbuild MyServices.sln /t:Clean;Rebuild /v:d
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6894601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档