我在與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中發佈的相同代碼。 –