基本上,我有一个silverlight 2客户机(因此使用了SLSvcutil),它需要访问WCF服务。
有人知道我怎样才能阻止SLSvcutil.exe用FaultContractAttributes装饰OperationContracts吗?
我正在针对一个WCF服务运行SLSvcUtil,该服务的操作都是由Faultcontracts修饰的。
不幸的是,我真的不能提供任何代码,只是想知道是否有人有一个模糊的想法。我似乎无法让excludeType开关正常工作,这是我第一次猜测如何实现这一点。
谢谢
发布于 2009-10-29 18:56:07
如果您真的想忽略操作的强类型错误数据契约,可以从服务的wsdl中删除定义。但是,从生成的类中删除它会更容易。(查找所有故障契约属性并替换为"")
发布于 2010-01-19 18:57:20
编辑-我让它使用SL 3运行时.我必须删除对System.ServiceModel和System.Net的所有旧引用,并将它们从这个位置添加回(运行x64窗口)。
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0一旦我这么做了-成功了!对不起,如果您还在运行2.0运行时,但是我想我应该发布这个更新,以防任何人在将来发现这个页面.
这可能只是“我的问题”,因为我使用x64窗口.下面是用于程序集引用的新proj文件的外观:
<Reference Include="System.Net, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0\System.Net.dll</HintPath>
</Reference> <Reference Include="System.ServiceModel, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0\System.ServiceModel.dll</HintPath>
</Reference>===============旧答案在===============下面
我一直试图在没有运气的情况下做同样的事情,所以我要说“目前这件事做不到”,这真的很烦人.
如果查看reference.cs和发出的.cs,类的顶部显示使用“”可以获得:
// This code was auto-generated by Microsoft.Silverlight.ServiceReference, version 2.0.5.0使用SlSvcUtil ( v3.0工具顺便说一句),您可以得到:。
// This code was auto-generated by slsvcutil, version 3.0.40624.0因此,我不认为您将能够“支持端口”到v2.0。不幸的是,您也不能在3.0运行时使用SlSvcUtil!(我觉得这很可笑--或者我就是不能让它正常工作)
我正在获取3.0运行时,并使用SlSvcUtil和“开箱即用”--它告诉我
The type or namespace name 'FaultContractAttributeAttribute' does not exist
in the namespace 'System.ServiceModel' (are you missing an assembly reference?)这个类确实存在于System.ServiceModel 3.0中.*但是Silverlight使用的是2.0.*而它并不存在.kicker --尝试添加对3.0版本的引用,您将得到以下信息:
You can't add a reference to System.ServiceModel.dll as it was not built against the
Silverlight runtime. Silverlight projects will only work with Silverlight assemblies所以即使你上了3.0版-你就是索尔-就像我一样.
希望有人能告诉我们怎么做,但我认为这不可能.某人-请证明我错了!)
对不起伙计..。
https://stackoverflow.com/questions/1645706
复制相似问题