Xamarin.ios 无法从Xamarin Studio上的Nuget manager安装MvvmCross

Xamarin.ios 无法从Xamarin Studio上的Nuget manager安装MvvmCross,xamarin.ios,xamarin.android,xamarin,nuget,mvvmcross,Xamarin.ios,Xamarin.android,Xamarin,Nuget,Mvvmcross,有很多报告说MvvmCross可以安装在Profile 78上,但在我的环境中却不能 当我尝试从Nuget manager安装MvvmCross时,会收到以下消息: 无法安装程序包“MvvmCross.PortableSupport 3.1.1”。你是 正在尝试将此包安装到目标为的项目中 “portable-Profile78”,但该软件包不包含任何程序集 与该框架兼容的引用或内容文件。 有关更多信息,请联系软件包作者。 System.InvalidOperationException:无法安装

有很多报告说MvvmCross可以安装在Profile 78上,但在我的环境中却不能

当我尝试从Nuget manager安装MvvmCross时,会收到以下消息:

无法安装程序包“MvvmCross.PortableSupport 3.1.1”。你是 正在尝试将此包安装到目标为的项目中 “portable-Profile78”,但该软件包不包含任何程序集 与该框架兼容的引用或内容文件。 有关更多信息,请联系软件包作者。 System.InvalidOperationException:无法安装程序包 “MvvmCross.PortableSupport 3.1.1”。您正在尝试安装此 打包到目标为“portable-Profile78”的项目中,但 包不包含任何程序集引用或包含以下内容的内容文件: 与该框架兼容。有关更多信息,请联系 包作者

环境是:

=== Xamarin Studio ===

Version 4.2.4 (build 35) Installation UUID: 7b4d01c4-ec8d-4fd7-bcf3-46ea74a47d8b Runtime:
    Mono 3.2.6 ((no/9b58377)
    GTK+ 2.24.23 (Raleigh theme)

    Package version: 302060000

=== Apple Developer Tools ===

Xcode 5.1.1 (5085) Build 5B1008

=== Xamarin.iOS ===

Version: 7.2.1.42 (Business Edition) Hash: 773c77c Branch:  Build date: 2014-04-18 15:39:16-0400

=== Xamarin.Mac ===

Xamarin.Mac: Not Installed

=== Xamarin.Android ===

Version: 4.12.3 (Business Edition) Android SDK: /adt-bundle-mac/sdk
    Supported Android versions:
        2.1   (API level 7)
        2.2   (API level 8)
        2.3   (API level 10)
        3.1   (API level 12)
        4.0   (API level 14)
        4.0.3 (API level 15)
        4.1   (API level 16)
        4.2   (API level 17)
        4.3   (API level 18)
        4.4   (API level 19) Java SDK: /usr java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

=== Build Information ===

Release ID: 402040035 Git revision: 1173cb1c45bc56cb702e82cd21a7c9d0cea4acbf Build date: 2014-04-17 13:45:52-04 Xamarin addins: 53bde0041263928e8bd64686f5ca5a8e4338dd76

=== Operating System ===

Mac OS X 10.9.2 Darwin ootsuka-no-MacBook-Air.local 13.1.0 Darwin Kernel Version 13.1.0
    Wed Apr  2 23:52:02 PDT 2014
    root:xnu-2422.92.1~2/RELEASE_X86_64 x86_64
Nuget manager是0.9,最新版本

我的解决方案尝试:

  • 我更新了所有Xamarin组件、XS、Mono、XA和XiOS。但它无法解决这个问题
  • 我卸载了Nuget manager并重新安装了它-没有解决问题
  • 我在概要文件7中创建了PCL项目,然后安装MvvmCross成功。
    因此,我将project更改为Profile 78,并手动更改package.config。
    这在iOS和Android中都很好,但我只在示例代码中进行了测试

有人能提出更好的解决此问题的方法吗?

出于某种原因,您似乎没有安装PCL profile 78

我这样做是基于这样一个事实,即我希望NuGet报告的错误消息包含框架名称,而不使用概要文件名称。例如,当我尝试将Microsoft.AspNet.Razor 3.1.2安装到以Profile 78为目标的项目中时,会出现以下错误:

Could not install package 'Microsoft.AspNet.Razor 3.1.2'. 
You are trying to install this package into a project that targets 
'portable-net45+wp80+win+MonoAndroid10+MonoTouch10'.
我可以在Mac上使用Xamarin Studio 4.2.4和Mono 3.2.6将MvvmCross.PortableSupport 3.1.1安装到针对PCL配置文件78的项目中

您可以尝试重新安装Mono来修复此问题。不过你说你已经试过了

我还有一个可以用来显示机器上安装的PCL配置文件的。在安装了Mono 3.2.6的Mac电脑上,此功能的输出为:

.NETPortable root path found: /Library/Frameworks/Mono.framework/Versions/3.2.6/lib/mono/4.5/../xbuild-frameworks/.NETPortable

.NETPortable profiles:
Profile136 net40+sl50+wp80+win+MonoAndroid10+MonoTouch10
Profile14 net40+sl50+MonoAndroid10+MonoTouch10
Profile147 net403+sl50+wp80+win+MonoAndroid10+MonoTouch10
Profile158 net45+sl50+wp80+win+MonoAndroid10+MonoTouch10
Profile19 net403+sl50+MonoAndroid10+MonoTouch10
Profile24 net45+sl50+MonoAndroid10+MonoTouch10
Profile37 net40+sl50+win+MonoAndroid10+MonoTouch10
Profile42 net403+sl50+win+MonoAndroid10+MonoTouch10
Profile47 net45+sl50+win+MonoAndroid10+MonoTouch10
Profile5 net40+win+MonoAndroid10+MonoTouch10
Profile6 net403+win+MonoAndroid10+MonoTouch10
Profile49 net45+wp80+MonoAndroid10+MonoTouch10
Profile7 net45+win+MonoAndroid10+MonoTouch10
Profile78 net45+wp80+win+MonoAndroid10+MonoTouch10

您还可以查看/Library/Frameworks/Mono.framework/Versions/3.2.6/lib/Mono/xbuild Frameworks/.NETPortable目录,查看其中的配置文件。

尝试更新您的Xamarin studioThanks!正如你所说,我试过你的申请,显示此信息:Profile1 net40+win+sl40+wp+Xbox40 Profile104 net45+win+sl40+wp71 Profile131 net403+win+sl40+wp+Xbox40 Profile14 net40+sl50 Profile18 net403+sl40 Profile19 net403+sl50 Profile2 net40+win+sl40+wp Profile23 net45+sl40 Profile24 net45+sl50 Profile3 net40+sl40 Profile36 net40+win+sl50 Profile37 net40+sl50Profile4 net40+sl40+wp+wp+wp档案41 net403+win+sl40档案42 net403+win+sl50档案46 net45+win+sl40档案47 net45+win+sl50档案5 net40+win档案6 net403+win档案88 net40+win+sl40+wp71档案95 net403+win+sl40+wp档案96 net403+win+sl40+wp71档案7 net45+win和我的环境可能的可移植路径是:/Library/Frameworks/Mono.framework/External/xbuild Frameworks/.NETPortable/Library/Frameworks/Mono.framework/Versions/3.2.6/lib/Mono/4.5/./xbuild Frameworks/.NETPortable稍后包括P78但不包括前者,但我的Xamarin使用前者作为根路径。我如何从“/Library/Frameworks/Mono.framework/External/xbuild Frameworks/.NETPortable”到“/Library/Frameworks/Mono.framework/Versions/3.2.6/lib/Mono/4.5/。/xbuild frameworkwo‌​rks/.NETPortable”?您应该能够通过将环境变量XBUILD\u FRAMEWORK\u FOLDERS\u PATH设置为Library/Frameworks/Mono.FRAMEWORK/Versions/3.2.6/lib/Mono/XBUILD-Frameworks来覆盖它-不要包含路径的.NETPortable部分,因为这将被追加。如果您使用的是最新版本(0.9)对于Xamarin Studio的NuGet addin,可以改用NuGetPortableReferenceAsemblyPath环境变量,但此变量需要使用包含.NETPortable部分的完整路径。