构建引用可移植类库的nuget包

构建引用可移植类库的nuget包,nuget,nuget-package,portable-class-library,Nuget,Nuget Package,Portable Class Library,我试图构造一个nuget包,安装一个可移植类库,它本身依赖于一组可移植类库。我可以创建并安装该软件包,但当我运行安装了新软件包的应用程序时,.NET 4.5。类库测试项目中,我总是遇到以下异常: threw exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Data.Services.Client.Portable, Version=5.6.1.0, Cultur

我试图构造一个nuget包,安装一个可移植类库,它本身依赖于一组可移植类库。我可以创建并安装该软件包,但当我运行安装了新软件包的应用程序时,.NET 4.5。类库测试项目中,我总是遇到以下异常:

threw exception: 
 System.IO.FileNotFoundException: Could not load file or assembly 
  'Microsoft.Data.Services.Client.Portable, Version=5.6.1.0, Culture=neutral, ...
我的nuspec文件包含以下依赖项部分

<dependencies>
  <group targetFramework="portable-net45+wp80+win">
    <dependency id="Microsoft.Bcl" version="1.1.6"  />
    <dependency id="Newtonsoft.Json" version="6.0.2" />
    <dependency id="Microsoft.Data.Services.Client" version="5.6.1" />
    <dependency id="Microsoft.AspNet.WebApi.Client" version="5.1.1" />
  </group>
</dependencies>

我在过去创建了许多nuget软件包,从未见过这个问题。我猜这与我正在创建的PCL dll中引用每个库的PCL版本有关,但我不知道如何让这个nuget正常工作


我遗漏了什么?

这似乎是Microsoft.Data.Services.Client NuGet软件包的问题。与.NET Framework和Silverlight版本一样,它在可移植版本中使用不同的程序集名称。因此,您的可移植程序集是根据Microsoft.Data.Services.Client.portable.dll编译的,但是当您的NuGet软件包安装到.NET项目中时,会引用Microsoft.Data.Services.Client.dll


一般来说,像这样的包在所有平台上都应该使用相同的程序集名称(不过API也需要在平台之间兼容)。

那么我应该做些什么来让nuget正常工作呢?@JayTraband对此你无能为力。您必须等待NuGet包的固定版本发布。您是指Microsoft.Data.Services.Client.Portable NuGet吗?@JayTraband和Microsoft.Data.Services.Client包。它有一个名为Microsoft.Data.Services.Client.Portable的DLL,这是不正确的。