【问题标题】:Could not find file obj\Debug\100\android\assets\Xamarin.Auth.dll.mdb'找不到文件 obj\Debug\100\android\assets\Xamarin.Auth.dll.mdb'
【发布时间】:2021-03-13 17:54:01
【问题描述】:

我开发了一个 xamarin 应用程序,但在调试 Visual Studio 2019 时出现此错误“找不到文件 obj\Debug\100\android\assets\Xamarin.Auth.dll.mdb”。它发生在 VS 更新 16.9 之后。 1.如果我在发布版本中构建应用程序,则没有问题。

【问题讨论】:

    标签: c# xamarin visual-studio-2019


    【解决方案1】:

    在 16.9.1 更新后,我遇到了完全相同的问题。经过很多挫折并尝试了我能想到的一切,包括其他答案中的建议,我发现这实际上是 VS 16.9.1 附带的 Xamarin.Android 11.2.0.21 引入的一个已知问题。

    问题似乎是由快速部署的更新引起的,该更新需要 .mdb 调试文件,而不是 Android 项目的旧 .pdb 符号。

    要解决此问题,您需要更新任何仍使用旧 pdb 符号文件的 NuGet 包,希望它们已更改为使用 mdb 调试文件。在我的情况下这是不可能的,因此解决方法是将以下几行添加到您的 Android csproj 中 </Project> 标记上方:

    <Target Name="_RemoveMdbFiles" BeforeTargets="_Upload">
    <ItemGroup>
        <_Temp Include="%(_ResolvedSymbols.Identity)" Condition="'%(_ResolvedSymbols.Extension)' == '.mdb'" />
        <_ResolvedSymbols Remove="@(_Temp)"/>
    </ItemGroup>
    

    如果此解决方法也不适合您,我认为唯一的其他解决方案是降级到 VS 16.8.x。

    编辑:似乎已在 VS 16.9.2 更新中修复。

    来源: https://docs.microsoft.com/en-us/xamarin/android/release-notes/11/11.2#known-issue-fast-deployment-and-mdb-files
    https://github.com/xamarin/xamarin-android/issues/5631#issuecomment-794289675

    【讨论】:

    • 16.9.2 确实解决了这个问题!
    【解决方案2】:

    一种解决方法是创建一个名为 Xamarin.Auth.dll.mdb 的文件。我刚刚创建了 Xamarin.Auth.dll 的副本并将其重命名。它不能解决根本问题,但至少我能够调试。不知道这是否有任何副作用,但到目前为止一切都很好......

    【讨论】:

      猜你喜欢
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 2017-09-03
      相关资源
      最近更新 更多