我们正在尝试使用WebAPI2.2和OData v4 for ASP.NET + Silverlight 5进行设置。
Initiall有一个使用Simple.OData连接的单元测试项目。效果很好。但是我们无法在Silverlight 5上设置一个OData客户端。
使用客户端代码生成器v4并保持错误
命名空间'Microsoft.OData‘中不存在类型或命名空间名称'Client’(您是否缺少程序集引用?)C:\Workspaces\GKS\Main\Source\Simutek.Gks\Source\Simutek.Gks.UI.SL.Common\GksODataClient.cs Simutek.Gks.UI.SL.Common
套餐:
<package id="Microsoft.OData.Client" version="6.12.0" targetFramework="sl50" />
<package id="Microsoft.OData.Core" version="6.12.0" targetFramework="sl50" />
<package id="Microsoft.OData.Edm" version="6.12.0" targetFramework="sl50" />
<package id="Microsoft.Spatial" version="6.12.0" targetFramework="sl50" />
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="sl50" />参考资料看上去不错,我们还在app.config中试用了app.config:
<dependentAssembly>
<assemblyIdentity name="Microsoft.OData.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.12.0.0" newVersion="6.12.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.OData.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.12.0.0" newVersion="6.12.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Spatial" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.12.0.0" newVersion="6.12.0.0" />
</dependentAssembly>Microsoft.OData.Client更新:实际上,虽然 NuGet包安装在Silverlight上,但实际上它并没有在目标中指定SL5。我现在看到这个包只针对
便携式-net45+wp8+win8+wpa
所以,虽然我可以在一个PCL项目中完成一些事情,但我不能在一个针对Silverlight 5的项目中这样做。
有没有人做过这方面的工作?
发布于 2015-05-28 09:29:02
Silverlight不支持微软的OData v4客户端代码生成器visx (OData Client T4)生成的代码,但没有人强迫您使用生成的代码。
只需使用您选择的库来创建到OData服务的连接,并重用您自己的类型(业务对象)。
发布于 2015-05-25 19:34:44
您应该使用一个支持Silverlight的PCL,两个候选程序是ODataLib (Microsoft.OData.Core)和Simple.OData.Client,后者构建在ODataLib之上。他们都不支持类生成,但这不应该是一个大的问题,你自己。
https://stackoverflow.com/questions/30434335
复制相似问题