Sep*_*eph 4 .net visual-studio-2010 odata dynamics-crm-2011
类似于:成员名称不能与其封闭类型相同,除非我无法更改元数据,我想完全忽略该类.
我试图在Visual Studio 2010中添加服务引用,但我收到以下错误.
自定义工具"DataServiceClientGenerator"失败.数据服务客户端代码生成失败:指定的架构无效.错误:(0,0):错误0042:名称foo不能用于Microsoft.Crm.Sdk.Data.Services.foo类型.成员名称不能与其封闭类型相同.
我明白这个错误是因为有人foo在对象中命名了一个字段,foo但我无法改变它.
因此,如果无法在CRM中进行任何更改,我该如何生成服务参考?
我想过下载$metadata然后删除有问题的类型,然后保存它(因为类型不是我将使用的类型).但我不知道如何让它发挥作用,因为它不是过于直接.
我已经尝试用C#和VB.NET制作服务引用并且都没有工作,理想情况下它将是一个适用于两者的解决方案,但在这一点上,我将开放一个只适用于其中一个的解决方案.
我已经找到了解决这个问题的方法.
http://localhost/myWcfDataService.svc/$metadata
Run Code Online (Sandbox Code Playgroud)
将此结果保存到磁盘,例如 c:\metadata.csdl
然后手动编辑文件并删除(或重命名)有问题的字段(这将导致它无法在您的服务中使用,但它比整个服务不起作用更好).
然后运行以下命令:
c:\Windows\Microsoft.NET\Framework\v4.0.30319\DataSvcUtil.exe /language:CSharp /in:c:\metadata.csdl /out:c:\serviceReference1.cs
Run Code Online (Sandbox Code Playgroud)
现在将新生成的serviceReference1.cs文件添加到visual studio项目中,查找从中继承的类System.Data.Services.Client.DataServiceContext是您的服务入口点.
更多信息可以在这里找到.
| 归档时间: |
|
| 查看次数: |
1895 次 |
| 最近记录: |