【问题标题】:Can't Debug .NET Standard 2.0 DLL in UWP无法在 UWP 中调试 .NET Standard 2.0 DLL
【发布时间】:2018-06-23 14:51:14
【问题描述】:

我创建了一个全新的 Xamarin Forms 解决方案,升级了所有 NuGet,确保 UWP 版本面向内部版本 16299,并确保 .NET Standard 项目面向 2.0。我运行了该项目,并且能够很好地调试 .NET Standard 2.0 DLL。你可以在这里下载它,但我认为它没有任何用处:https://www.dropbox.com/s/jw13heu98yq2n6x/CleanXF.7z?dl=0

然后我将这些项目拉入另一个解决方案,添加对其他项目的一些引用,并将一些 Xamarin Forms 页面等复制并粘贴到新的干净项目中。然后我可以编译并运行该项目,但调试 .NET Standard 2.0 Xamarin Forms 项目根本不起作用。调试 UWP 代码确实有效,而较低级别的 .NET Standard 2.0 项目也可以调试。这只是一个不会调试的项目。我已经尝试过 Git 一次又一次地清理文件夹以确保重建正在发生。我还尝试从头开始创建项目并将所有文件重新添加进去。再次,它编译并运行,但不调试。

我可以尝试哪些方法来进行调试?

【问题讨论】:

    标签: c# debugging xamarin xamarin.forms uwp


    【解决方案1】:

    事实证明,在 UWP 中调试 .NET Standard 2.0 程序集仍然存在问题。显然,在 .NET Standard 2.0 项目中生成了一种新型 PDB。这与这个有解决方法的错误有关:

    https://github.com/dotnet/sdk/issues/955

    只需像这样编辑 .NET Standard 2.0 项目:

    <PropertyGroup>
        <DebugType>pdbonly</DebugType>
    </PropertyGroup>
    

    这会切换到老式 PDB 并会减慢调试速度,但在 MSBuild 等赶上之前,这是我所看到的解决问题的唯一方法。

    编辑:微软声称原始错误现已在最新版本的 Visual Studio 中得到修复,但我尚未确认: https://github.com/Microsoft/UWPCommunityToolkit/issues/1951

    有些人仍然遇到这个问题——甚至是微软的人,所以我目前不知道这个问题的状态。

    【讨论】:

      【解决方案2】:

      已接受解决方案的替代解决方案,您也可以使用以下行。它告诉使用完全调试,仅包含用于调试模式的符号。我不确定墨尔本开发者的回答是否会影响发布模式,只是为了确保。

       <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
          <DebugType>full</DebugType>
          <DebugSymbols>true</DebugSymbols>
        </PropertyGroup>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-05
        • 1970-01-01
        • 2018-02-08
        • 2018-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多