Xamarin Forms UWP - 无法调试共享代码

Posted

技术标签:

【中文标题】Xamarin Forms UWP - 无法调试共享代码【英文标题】:Xamarin Forms UWP - Unable To Debug Shared Code 【发布时间】:2018-06-30 15:32:42 【问题描述】:

我最近开始在使用 .NET 标准 2.0 作为代码共享策略的最新版本的 Xamarin Forms 中遇到此问题。

我可以在 UWP 项目中的任何代码中放置断点并停止,但如果我在共享 DLL 代码中放置断点,断点会从纯红色变为用白色填充的红色轮廓圆圈。当我将鼠标放在断点上时,它表示尚未为该位置加载符号。

为了能够调试 Xamarin Forms UWP 的共享代码,我做错了什么? androidios 都可以工作。

【问题讨论】:

删除 bin 文件夹并重试,可能它没有使用正确的参考重建 【参考方案1】:

为了能够调试 Xamarin Forms UWP 的共享代码,我做错了什么? Android 和 iOS 都可以工作。

在 Visual Studio 中为 issue。目前,您可以参考一种解决方法。

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

将上述代码放在 .NET 标准库 csproj 文件中。

【讨论】:

我将它添加到了 .NET Standard 库中并且它工作正常。非常感谢! 对我来说,这不适用于 Xamarin.Android 项目(尝试调试 .net 标准 2.0 库时)。还有其他想法吗? 同时删除 C:\Users\username.domain\AppData\Roaming\Microsoft\VisualStudio 中的所有文件。当您确实需要清理所有文件时,它们只是临时文件,可能会产生重大影响,尤其是当您尝试更改构建参数时。【参考方案2】:

选择UWP项目作为启动项目,然后打开Build菜单并选择Configuration Manager。确保在 Build 列中选择了 .NET Standard 库。

如果这样做没有帮助,请从共享库和 UWP 项目中删除 binobj 文件夹,然后重试。有时,手动从您的 PC 上卸载 UWP 应用也会有所帮助。

【讨论】:

也刚刚尝试过,但没有成功。以前也有同样的行为。已经为 .NET 标准库选择了构建。【参考方案3】:

不确定是否有帮助,但在 Debug,Options,Debugging (General) 下我会禁用 Enable Just My Code 选项

【讨论】:

以上是关于Xamarin Forms UWP - 无法调试共享代码的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Xamarin Forms 中启动 UWP 项目

无法在发布模式下为 UWP 构建 Xamarin.Forms 应用

包“apppxbundle”需要很长时间来处理。无法将更新推送到 Windows 商店 [UWP] [Xamarin.Forms]

无法在 UWP 中设置 SQLite 对象 - Xamarin Forms

OxyPlot 无法在 Xamarin Forms UWP 中呈现

为啥我无法从我的 Xamarin.Forms UWP 应用程序访问 DownloadsFolder,并获得 System.UnauthorizedAccessException?