1

ASP.NET + Silverlight 5 用の Web API 2.2 と OData v4 をセットアップしようとしています。

初期の POC には、Simple.OData を使用して接続する単体テスト プロジェクトがありました。これはうまくいきました。しかし、Silverlight 5 で OData クライアントをセットアップできませんでした。

Client Code Generator v4 を使用するとエラーが発生し続ける

型または名前空間名「Client」が名前空間「Microsoft.OData」に存在しません (アセンブリ参照がありませんか?) 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 が指定されていません。パッケージがターゲットのみであることがわかりました

Portable-net45+wp8+win8+wpa

そのため、PCL プロジェクトでは作業を進めることができますが、Silverlight 5 を対象とするプロジェクトではそれができません。

これを達成した人はいますか?

4

2 に答える 2

0

Silverlight をサポートする PCL の 1 つを使用する必要があります。2 つの候補は ODataLib (Microsoft.OData.Core) と Simple.OData.Client で、後者は ODataLib の上に構築されています。それらのどれもクラス生成をサポートしていませんが、独自のものを作成するのは大したことではありません。

于 2015-05-25T19:34:44.277 に答える