首页 > 解决方案 > 无法在模拟器 Visual Studio 2019 中调试 Xamarin Forms Android 应用程序

问题描述

我使用 Mobile Xamarin 模板(Xamarin 版本 5.0.0.2012)创建了一个新的空白 Xamarin 应用程序。项目创建后我没有进行任何更改。我可以构建应用程序并将其部署到模拟器,我什至可以启动它并且它工作正常。
但是,当我单击调试时,Visual Studio 只执行部署而不启动调试器。
当我选择 VS 输出窗口并切换到 Xamarin 输出时,我看到以下错误:

项目不可调试。

可能是什么问题呢?

标签: .netxamarinxamarin.formsxamarin.android

解决方案


The problem seems to have been that the solution file (.sln) contained multiple various configurations for the two projects. This is probably caused by having an UWP project in the solution. For example for my Forms project here are the .sln configuration lines that were created when I created the new android project within my existing solution:

    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|.NET.ActiveCfg = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|.NET.Build.0 = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|ARM.ActiveCfg = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|ARM.Build.0 = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|ARM64.ActiveCfg = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|ARM64.Build.0 = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|x64.ActiveCfg = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|x64.Build.0 = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|x86.ActiveCfg = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|x86.Build.0 = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|.NET.ActiveCfg = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|.NET.Build.0 = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|Any CPU.Build.0 = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|ARM.ActiveCfg = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|ARM.Build.0 = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|ARM64.ActiveCfg = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|ARM64.Build.0 = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|Mixed Platforms.Build.0 = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|x64.ActiveCfg = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|x64.Build.0 = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|x86.ActiveCfg = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|x86.Build.0 = Release|Any CPU

Here are the configuration lines when I create a project in the blank solution:

    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {1568849E-FAE8-4B99-828C-AB2F683E1437}.Release|Any CPU.Build.0 = Release|Any CPU

Sadly I was unable to make it work. If I have UWP project in my solution then I get multiple configurations and I can not debug the Xamarin Android project. If I remove extra configurations required for the UWP project then the UWP project does not compile. For now the solution is to have 2 separate .sln files. One for UWP project and one for Xamarin project.


推荐阅读