我们正在尝试为 ASP.NET + Silverlight 5 设置 Web API 2.2 和 OData v4。
Initiall POC 有一个使用 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 中尝试了 AssemblyBinding:
<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 的项目中这样做。
有解决办法吗,有谁做到了?