我创建了一个新的 Xamarin Forms 解决方案,升级了所有 NuGet,确保 UWP 版本的目标版本为 16299,并确保 .NET Standard 项目的目标版本为 2.0。我运行了该项目并能够很好地调试 .NET Standard 2.0 DLL。你可以在这里下载这个,但我认为它没有任何用处:https://www.dropbox.com/s/jw13heu98yq2n6x/CleanXF.7z?dl=0 https://www.dropbox.com/s/jw13heu98yq2n6x/CleanXF.7z?dl=0.
然后,我将这些项目拉入另一个解决方案,添加一些对其他项目的引用,并将一些 Xamarin Forms 页面等复制并粘贴到新的干净项目中。然后我可以编译并运行该项目,但调试 .NET Standard 2.0 Xamarin Forms 项目根本不起作用。调试 UWP 代码确实有效,较低级别的 .NET Standard 2.0 项目也可以进行调试。这只是一个无法调试的项目。我已经尝试一次又一次地使用 Git 清理文件夹,以确保重建正在进行。我还尝试从头开始创建项目并将所有文件添加回来。同样,它可以编译并运行,但不能调试。
我可以尝试哪些事情来进行调试?
事实证明,在 UWP 中调试 .NET Standard 2.0 程序集仍然存在问题。显然,.NET Standard 2.0 项目中生成了一种新型 PDB。这与此错误有关,该错误有一个解决方法:
https://github.com/dotnet/sdk/issues/955 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 https://github.com/Microsoft/UWPCommunityToolkit/issues/1951
有些人仍然遇到这个问题 - 甚至是微软的人,所以我目前不知道这个问题的状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)