我在与CI(巡航控制)..发布WCF服务问题SVC,XML没有被部署
比方说,我有一个名为“WCF-A”一个WCF项目。我在“WCF-A”的csproj中放入以下行:
<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,但为了使我的问题简单,我将使用命令行。)
E:\..\Code\>msbuild MyServices.sln /t:Clean;Rebuild
它完美和所有组件,跨域XML,SVC文件下的“发布”文件夹,发布。
当我在解决方案文件中添加其他服务时(我们称之为“WCF-B”),问题就出现了。 [编辑]我在WCF-B中添加了相同的“BeforeBuild”和“AfterBuild”。 [/编辑]我从“WCF-B”项目引用的WCF-A ...但是当我用我使用的相同命令构建解决方案时,“WCF-B”的发布工作正常。但“WCF-A”的跨域文件和svc文件不再被部署。 “发布\ bin”文件夹下仅发布“WCF-A”的程序集。
你们有什么想法为什么会这样?提前致谢。
编辑
我认为有“工程索引” 造成这个问题。但我需要项目的参考,而不是调用从代理类的服务。由于这两个服务都将托管在同一台服务器上,因此我更愿意使用dll参考而不是服务调用。
您是否向您的WCF-B服务添加了相同的'BeforeBuild'和'AfterBuild'目标? –
是的。我添加了我在WCF-B中发布的相同代码。 –