找不到文件 obj\Debug\100\android\assets\Xamarin.Auth.dll.mdb'。

3

我开发了一款Xamarin应用程序,调试Visual Studio 2019时出现错误信息“无法找到文件 obj\Debug\100\android\assets\Xamarin.Auth.dll.mdb”。这是在VS更新至16.9.1之后发生的。如果我以发布模式构建该应用,则没有问题。

2个回答

3

我在16.9.1升级后遇到了完全相同的问题。在尝试了其他答案中提出的建议并且感到非常沮丧之后,我发现这实际上是由Xamarin.Android 11.2.0.21引入的已知问题,该版本与VS 16.9.1一起发布。

问题似乎是由快速部署更新引起的,它需要Android项目中的.mdb调试文件而不是旧的.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://learn.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

1
16.9.2 确实解决了这个问题! - Akshay Gaur

1

一个解决方法是创建一个名为Xamarin.Auth.dll.mdb的文件。我只是复制了Xamarin.Auth.dll并将其重命名。这并没有解决根本问题,但至少我能够进行调试。不确定是否会有任何副作用,但到目前为止还不错...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接