2016-05-26 36 views
1

我想創建一個NuGet包的另一個項目,該項目已在項目屬性中設置了以下目標:如何在Nuget-Package中定位我的可移植類庫?

  • .NET框架4.5
  • ASP.NET 1.0的核心
  • 的Windows 8
  • 的Windows Phone 8的Silverlight
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.iOS(經典)

我從中創建包的目標完全相同。

在NuGet包Explorer中我創建了一個lib文件夾,並在lib - 文件夾我加入Add Portable Library另一個文件夾並進行如下設置:

  • 的.NET Framework V4.5及更高
  • 的Windows Phone 8

創建後的目錄名稱是:

便攜式net45 + WP8(.NETPortable,版本= V0.0,簡介= net45 + WP8)

我發表的NuGet包我的私人資料庫,並試圖將其導入到項目中,我上面描述,但它給我一個錯誤:

Could not install package 'my.package 0.0.1-alpha1'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile78', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

誰能告訴我,如何正確設置我的包,所以我的包可以導入?哪裏不對?

在此先感謝!

回答

0

你的NuGet包有便攜式的個人資料:

portable-net45+wp8 

資料78便攜式簡介:

portable-net45+win8+wp8 

所以問題是,你使用的是不表示它支持Windows配置文件8(win8)因此NuGet認爲它與配置文件78不兼容。

如果您的便攜式類庫組件針對配置文件78,那麼它應該適合您重命名該目錄包括win8因此它變成portable-net45+win8+wp8

+0

謝謝,似乎工作到目前爲止。我有另一個問題。我添加了一些依賴到我的包(SignalR.Client),並把它放到。爲什麼nuget在描述中說「不支持」?當我嘗試添加一個項目時。主DLL在安裝後被引用,但依賴關係沒有被安裝。 – Jannik

+0

我猜想NuGet不能識別目標框架。你在哪裏看到不支持的版本以及你使用的是哪個版本的NuGet和/或Visual Studio?看看SignalR。客戶端NuGet包,具有類似的依賴關係似乎可以與Visual Studio 2015中的NuGet 3一起使用。 –

+0

嗯,我正在使用Visual Studio 2015,並且已經安裝了最新的Nuget包管理器擴展。我懷疑它,但它可能是一個服務器端的問題?我正在使用自定義PHP服務器作爲nuget包服務器。 – Jannik

相關問題