【问题标题】:Error installing Simple.Odata via nuget on a PCL在 PCL 上通过 nuget 安装 Simple.Odata 时出错
【发布时间】:2013-08-10 17:53:11
【问题描述】:

我有一个面向 .Net 4.5、Silverlight 4+、Windows Phone 7.5+、.Net 的 PCL 用于 Windows 商店应用、Mono Android 和 MonoTouch

我正在尝试通过 nuget 安装 Simple.OData 并收到以下错误。我尝试了许多不同的组合,但似乎没有什么能够拉下图书馆。我的主要目标是使用 MVVMCross 和 Odata 服务为 Android 和 Touch 进​​行开发。

PM> Install-Package Simple.OData.Client
Installing 'Simple.OData.Client 0.16.0'.
Successfully installed 'Simple.OData.Client 0.16.0'.
Adding 'Simple.OData.Client 0.16.0' to EMC.Mobile.Core.
Uninstalling 'Simple.OData.Client 0.16.0'.
Successfully uninstalled 'Simple.OData.Client 0.16.0'.
Install failed. Rolling back...
Install-Package : Could not install package 'Simple.OData.Client 0.16.0'. You are trying to install this package into a project that targets 
'portable-win+net403+sl40+wp', 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.
At line:1 char:1
+ Install-Package Simple.OData.Client
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

【问题讨论】:

  • 您的目标可能是.net45,但该跟踪清楚地显示net403?也许尝试一个新的 PCL 项目 - 也许尝试手动编辑 csproj 以强制它进入 profile104 或 profile78
  • 我尝试了 .Net 4.5,但仍然遇到同样的错误。我看到项目已经设置为 Profile104 Profile104.

标签: odata mvvmcross portable-class-library simple.odata


【解决方案1】:

查看https://www.nuget.org/packages/Simple.OData.Client,它说该软件包仅支持 Windows Phone 8 及更高版本 - 所以我猜你的问题是不支持 Windows Phone 7.5。

【讨论】:

  • 但是没有办法注释掉Windows 7.5。即使我在“更改目标框架”对话框中取消选择除 MonoAndroid 和 MonoTouch 之外的所有内容,在我点击“确定”后,.Net 4.5、SL4+ 和 Win Phone 7.5+ 也会自动选择。
  • @JohnBliss 这可能是因为您只将 MonoAndroid 和 MonoTouch xml 文件放在便携式配置文件文件夹之一中。在选择目标框架对话框中取消选择这两个框架,然后查看您最终引用的配置文件。为此,请在解决方案资源管理器中的项目引用中选择“.NET Portable Subset”节点,然后在属性窗口中查看它的路径。将 MonoAndroid/MonoTouch xml 文件添加到该路径下的 SupportedFrameworks 文件夹中,然后重新启动 VS 并更改您的库以针对您想要的平台。
  • 好的,所以我从框架列表中删除了 MonoTouch 和 MonoAndroid,然后在 References 中检查了 .Net Portable Subset 的路径。我有 Profile4。所以我将 MonoTouch 和 MonoAndroid xml 文件移动到 Profile4 文件夹中。然而,我无法安装 Simple.OData nuget 包。错误是一样的:无法安装包'Simple.OData.Client 0.16.0'。您正在尝试将此包安装到以“portable-win+net45+MonoAndroid16+MonoTouch40+sl40+wp”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件
  • @JohnBliss:您需要选择支持以下平台的配置文件,或更严格的设置:.NET 4.0.3、Windows Store、Silverlight 5 和 Windows Phone 8。Profile147 是配置文件Simple.OData.Client 的目标。
【解决方案2】:

只是想让您知道 Simple.OData.Client 的新版本 (0.17) 有影响 MonoTouch/MonoDroid 的更改。

但是,正如 Stuart 和 Daniel 所指出的,您必须选择兼容的 PCL 配置文件。确保您选择的配置文件没有选择早期版本的 Silverlight 和 Windows Phone。

如果您需要更多帮助,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多