构建失败。 MonoDroid不支持运行以前的版本

时间:2014-02-05 15:50:02

标签: visual-studio-2012 xamarin xamarin.android mvvmcross

这是我第一个使用MVVMCross的Xamarin android项目。 从头开始。 该项目构建没有任何错误,但当我尝试调试它时,我得到一个构建失败:MonoDroid不支持运行以前的版本。在运行或调试之前,请确保您的解决方案已构建。

构建输出说: 1> ------部署启动:项目:Mobile.Droid,配置:调试任何CPU ------ 1>错误:操作无法完成========== 部署:0成功,1成功,0跳过==========

Ide.log:ERROR [2014-02-05 16:08:08Z]:无法更新跳转列表System.InvalidOperationException:文件类型未在此应用程序中注册。在Microsoft.WindowsAPICodePack.Taskbar.JumpList.AppendCustomCategories()at MonoDevelop.Platform.JaskList.UpdateJumpList()at MonoDevelop.Platform.JumpList.OnUpdateTimerEllapsed(Object sender,EventArgs args)的Microsoft.WindowsAPICodePack.Taskbar.JumpList.Refresh() / p>

我正在使用Visual Studio 2012(更新4) Windows 8 Xamarin Studio 4.2.2 Xamarin.Android 4.10.02014

请帮助我,因为我已经花了一天时间试图解决这个问题。

10 个答案:

答案 0 :(得分:6)

发现问题,我需要将我的启动项目设置为Android应用程序。 我可以拍自己,我没有注意它因为WP8它不需要。 花了我一天半来解决这个问题:-( 这再一次证明了错误信息并不总是清楚它们的含义或说法。

答案 1 :(得分:6)

原因可能是您没有启动任何虚拟设备来运行或调试您的应用。

请检查您是否可以在“开始”按钮上选择一些AVD。
在下一个例子中,我有两个破产的android模拟器:MonoForAndroid_API_10和MonoForAndroid_API_12:

enter image description here

如果还没有,请执行后续步骤:

  1. 打开Android模拟器管理器:

    enter image description here

  2. 选择设备,然后按开始。查看您选择的 API级别。这很重要。我建议选择级别不低于11.级别10或更低可能会给您部署错误。
  3. enter image description here

    1. 启动设计。现在,您可以在“运行”或“调试”模式下启动应用程序。 enter image description here

答案 2 :(得分:3)

您可能在构建过程中退出了模拟器。

首先,此错误表示构建/部署过程中某处出现错误。这可能有多种原因(请参阅本主题的其他回复)。

此错误的另一个常见原因是您过早退出Android模拟器。

Android SDK附带的Android模拟器需要很长时间才能加载(尤其是第一次使用时)。如果在加载之前退出模拟器,则会出现此错误。 (对于旧机器上的某些人来说,模拟器加载过程最多可能需要15分钟)

单击VS中的运行时,应打开模拟器。当它打开时,它将有一个空白的黑屏。如果您查看VS中的输出菜单,它会说"等待设备"。有时这似乎是模拟器的最终状态,而实际上它仍在加载。

Waiting for device

如果您的模拟器没有响应,请查看输出>构建窗口并查看是否显示"等待设备"

如果确实如此(或者有一条与下面成功构建的日志一致的消息),在2到15分钟内,应该会出现android主屏幕。然后,在另外2到10分钟内,应用程序应该启动。

Installing app on the emulator

以下是成功构建/部署Xamarin" Blank Android" Visual Studio中的项目。

1>Starting emulator: Xamarin_Android_API_15
1>Emulator is running: Xamarin_Android_API_15
1>Packaging application..
1>Build started.
1>C:\Program Files (x86)\MSBuild\14.0\bin\csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE;__XAMARIN_ANDROID_v1_0__;__MOBILE__;__ANDROID__;__ANDROID_1__;__ANDROID_2__;__ANDROID_3__;__ANDROID_4__;__ANDROID_5__;__ANDROID_6__;__ANDROID_7__;__ANDROID_8__;__ANDROID_9__;__ANDROID_10__;__ANDROID_11__;__ANDROID_12__;__ANDROID_13__;__ANDROID_14__;__ANDROID_15__;__ANDROID_16__;__ANDROID_17__;__ANDROID_18__;__ANDROID_19__;__ANDROID_20__;__ANDROID_21__ /errorendlocation /preferreduilang:en-US /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v5.0\Mono.Android.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.Linq.dll" /debug+ /debug:full /filealign:512 /optimize- /out:obj\Debug\App9.dll /ruleset:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\\Rule Sets\MinimumRecommendedRules.ruleset" /target:library /utf8output MainActivity.cs Resources\Resource.Designer.cs Properties\AssemblyInfo.cs "C:\Users\user\AppData\Local\Temp\MonoAndroid,Version=v5.0.AssemblyAttributes.cs" obj\Debug\\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs obj\Debug\\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs obj\Debug\\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
1>App9 -> c:\users\user\documents\visual studio 14\Projects\App9\App9\bin\Debug\App9.dll
1>  Processing: obj\Debug\res\layout\main.xml
1>  Processing: obj\Debug\res\values\strings.xml
1>C:\Program Files (x86)\Java\jdk1.6.0_39\\bin\keytool.exe -list -alias androiddebugkey -storepass android -keypass android -keystore "C:\Users\user\AppData\Local\Xamarin\Mono for Android\debug.keystore" 
1>C:\Program Files (x86)\Java\jdk1.6.0_39\\bin\jarsigner.exe -keystore "C:\Users\user\AppData\Local\Xamarin\Mono for Android\debug.keystore" -storepass android -keypass android -digestalg SHA1 -sigalg md5withRSA -signedjar bin\Debug\\App9.App9-Signed-Unaligned.apk "c:\users\ user\documents\visual studio 14\Projects\App9\App9\obj\Debug\android\bin\App9.App9.apk" androiddebugkey 
1>C:\Users\ user\AppData\Local\Android\android-sdk\build-tools\23.0.0\zipalign.exe 4 "c:\users\user\documents\visual studio 14\Projects\App9\App9\bin\Debug\App9.App9-Signed-Unaligned.apk" "bin\Debug\\App9.App9-Signed.apk" 
1>Build succeeded.
1>Waiting for device..
1>Detecting installed packages
1>Detecting installed packages...
1>
1>Installing shared runtime
1>Target device is armeabi-v7a.
1>Installing the Mono shared runtime (armeabi-v7a - 1441837293)...
1>
1>Installing platform framework
1>Installing the API 21 platform framework..
1>
1>Installing application on device
1>Copying application to device...
1>
1>Getting installation path...
1>Using fast dev path: /mnt/sdcard/Android/data/App9.App9/files/.__override__
1>Synchronizing assemblies...
1>Synchronizing assemblies
1>
====

答案 3 :(得分:1)

“以前的版本”错误显然只是意味着存在构建错误 - 请参阅http://forums.xamarin.com/discussion/3410/monodroid-problem

对于跳转列表问题,我能找到的唯一链接是关于旧版本的Xamarin.Android - 请参阅Xamarin 4.0.13 Layout Renderer failed


这两个问题似乎都与您的xamarin安装有关。如果继续,也许您的客户支持联系xamarin可以提供帮助。

答案 4 :(得分:1)

我有同样的问题。当我从Visual Studio中单击AVD按钮时,没有任何反应。所以,我打开了 Android Studio ,然后我就可以打开 AVD经理并启动模拟器。然后我就可以从Visual Studio运行应用程序而没有任何问题。

答案 5 :(得分:1)

我有同样的问题。显然我在设备上部署了发行版,然后尝试在之后使用debug进行部署。在设备上卸载版本后,在调试下的部署工作正常。

答案 6 :(得分:0)

我的解决方案中有2个可部署的项目(单元测试项目和应用程序项目)。

我无法运行单元测试项目,即使它已标记为启动项目,并且已设置为在配置管理器中进行部署。

我通过将应用程序项目设置为不在配置管理器中部署来解决它。

答案 7 :(得分:0)

我找到了解决方案!! 同样的问题:“构建失败。在VS15上,MonoDroid不支持运行以前的版本。”

我在VS15,然后我转移到Xamarin IDE,构建和调试:在我的设备(Samsung Galaxy Ace)中出现了关于内存的错误,所以我卸载了一些应用程序。 在部署之前,它有可用空间为405MB 我在Xamarin IDE中运行并运行应用程序 我检查手机内存,安装的应用程序使用超过100MB 然后我再次尝试使用Visual Studio,一切正常。

我的应用图片:http://1drv.ms/1PRZwV8

答案 8 :(得分:0)

所以我有一个与此非常相似的问题,我收到了错误: "构建失败:Xamarin.Android不支持运行以前的版本。在运行或调试之前,请确保您的解决方案已构建。"

经过几个小时尝试不同的事情后,经过很多挫折后,我设法解决了这个问题,只是想分享我的解决方案。

我所做的只是: - " Debug"旁边Visual Studio上的选项我有选项"任何CPU&#34 ;; - 我点击了这个选项,然后选择" Configuration Manager&#34 ;; - 我找到了我的项目名称,在旁边我看到了#34; Debug"和"任何CPU&#34 ;; - 我点击了"任何CPU"选项打开下拉列表; - 选择"新..."并将选项x86添加到列表中; - 然后我使用了选项x86激活的Debug,一切都很顺利。

我希望这有帮助!

干杯, 鲁

答案 9 :(得分:0)

删除Android和共享项目中的/ bin和/ obj文件夹,然后重试。