我正在尝试使用NuGet 2.5版本安装MVVMCross NuGet包。我已将mono android和touch文件添加到Profile104文件夹中。我仍然得到以下例外:
Attempting to resolve dependency 'MvvmCross.HotTuna.StarterPack (≥ 3.0.6)'.
Attempting to resolve dependency 'MvvmCross.HotTuna.CrossCore (≥ 3.0.6)'.
Attempting to resolve dependency 'MvvmCross.PortableSupport (≥ 3.0.6)'.
Installing 'MvvmCross.PortableSupport 3.0.6'.
Successfully installed 'MvvmCross.PortableSupport 3.0.6'.
Installing 'MvvmCross.HotTuna.CrossCore 3.0.6'.
Successfully installed 'MvvmCross.HotTuna.CrossCore 3.0.6'.
Installing 'MvvmCross.HotTuna.StarterPack 3.0.6'.
Successfully installed 'MvvmCross.HotTuna.StarterPack 3.0.6'.
Installing 'MvvmCross 3.0.6'.
Successfully installed 'MvvmCross 3.0.6'.
Adding 'MvvmCross.PortableSupport 3.0.6' to PortableClassLibrary1.
Uninstalling 'MvvmCross.PortableSupport 3.0.6'.
Successfully uninstalled 'MvvmCross.PortableSupport 3.0.6'.
Install failed. Rolling back...
Could not install package 'MvvmCross.PortableSupport 3.0.6'.
您正在尝试将此程序包安装到目标项目中 'portable-win + net45 + MonoAndroid16 + MonoTouch40 + sl40 + wp',但是 包不包含任何程序集引用或内容文件 与该框架兼容。有关更多信息,请联系 包裹作者。
我在创建新的PCL库项目时选择了以下选项
以下是来自C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable \ v4.0 \ Profile \ Profile104 \ SupportedFrameworks文件夹的xml文件的内容
.NET for Windows Store apps.xml
<?xml version="1.0" encoding="utf-8"?>
<Framework
Identifier=".NETCore"
Profile="*"
MinimumVersion="4.5"
DisplayName=".NET for Windows Store apps"
MinimumVersionDisplayName="" />
.NET Framework 4.5
<?xml version="1.0" encoding="utf-8"?>
<Framework
Identifier=".NETFramework"
Profile="*"
MinimumVersion="4.5"
DisplayName=".NET Framework"
MinimumVersionDisplayName="4.5" />
MonoAndroid.xml
<?xml version="1.0" encoding="utf-8"?>
<Framework DisplayName="Mono for Android"
Identifier="MonoAndroid"
Profile="*"
MinimumVersion="1.6"
MaximumVersion="*" />
MonoTouch.xml
<?xml version="1.0" encoding="utf-8"?>
<Framework
DisplayName="MonoTouch"
Identifier="MonoTouch"
Profile="*"
MaximumVersion="*"
MinimumVersion="4.0" />
Silverlight 4.xml
<?xml version="1.0" encoding="utf-8"?>
<Framework
Identifier="Silverlight"
Profile=""
MinimumVersion="4.0"
DisplayName="Silverlight"
MinimumVersionDisplayName="4" />
VSMonoTouch.xml
<?xml version="1.0" encoding="utf-8"?>
<Framework DisplayName="VS MonoTouch"
Identifier=".NETFramework"
Profile="*"
MinimumVersion="1.0"
MaximumVersion="1.0" />
Windows Phone 7.5.xml
<?xml version="1.0" encoding="utf-8"?>
<Framework
Identifier="Silverlight"
Profile="WindowsPhone7*"
MinimumVersion="4.0"
DisplayName="Windows Phone"
MinimumVersionDisplayName="7.5" />
我在Windows Server 2012 64位版本上使用Visual Studio 2012 Ultimate Update 2。有人能指出我正确的方向。
答案 0 :(得分:5)
您的可移植类库中的Windows Phone 7.0看起来很像。尝试切换到Windows Phone 7.5,看看是否有帮助。如果没有,请尝试发布PCL“选择目标”屏幕的屏幕截图,以及您添加到“SupportedFrameworks”文件夹中的所有XML文件的内容。
编辑:尝试删除VSMonoTouch.xml(然后重新启动Visual Studio)。
答案 1 :(得分:2)
Stuart博客评论中提到的解决方法(http://slodge.blogspot.co.uk/2013/04/n0-first-mvvmcross-application-n1-days.html)对我有用:
从Core项目属性中的Target Frameworks中删除Android,MonoTouch,VS MonoTouch和Windows Phone的Mono。安装MvvmCross NuGet包。重新添加目标框架。
答案 2 :(得分:2)
我刚刚获得了NuGet的更新。 看起来它现在正在运作。
以下是在新项目中使用MVVM Cross的步骤:
创建一个新项目Xamarin Android
创建一个新项目PCL库(选择Mono Android,MonoTouch和Windows Phone 7.5及更高版本)。
在app和PCL上添加MVVMCross NuGet
添加库作为应用程序的参考
如果没有将MVVMCross添加到应用程序中,我在编译时会出错。
答案 3 :(得分:1)
我有同样的问题
无法安装软件包'MvvmCross.PortableSupport 3.0.6'。你是 尝试将此软件包安装到目标项目中 'portable-win + net45 + MonoAndroid16 + MonoTouch40 + sl40 + wp71',但是 包不包含任何程序集引用或内容文件 与该框架兼容。有关更多信息,请联系 包裹作者。
Per http://slodge.blogspot.co.uk/2013/04/my-current-pcl-setup-in-visual-studio.html,我没有VSMonoTouch,只有两个文件(MonoAndroid,Version = v1.6 + .xml和MonoTouch,Version = v1.0 + .xml)
我也试过
“从Core项目属性中的目标框架中删除Android,MonoTouch,VS MonoTouch和Windows Phone的Mono。安装MvvmCross NuGet包。重新添加目标框架。”
但是当我尝试编译时,我收到了这个错误:
错误1加载程序集时出现异常: System.IO.FileNotFoundException:无法加载程序集 'System.Windows,Version = 2.0.5.0,Culture = neutral, 公钥= 7cec85d7bea7798e”。也许它不存在于Mono中 对于Android profile文件名:'System.Windows.dll'在 Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(AssemblyNameReference 参考,ReaderParameters参数)at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(列表
1 assemblies, AssemblyDefinition assembly) at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List
1 程序集,AssemblyDefinition程序集) Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List`1 程序集,AssemblyDefinition程序集) Xamarin.Android.Tasks.ResolveAssemblies.Execute()MyProject
答案 4 :(得分:1)
我也面临这个问题。在谷歌上搜索解决方案后,我发现我使用Nuget版本2.4 我将我的nuget升级到2.6并且运行顺利。 您可以在此处下载nuget 2.6:Nuget 2.6
答案 5 :(得分:0)
我写了一篇一步一步的帖子,用于从头开始使用PCL创建一个简单的Android应用程序
http://enginecore.blogspot.ro/2013/05/first-app-with-xamarin-android-and.html