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



我开发了一个xamarin应用程序,在调试Visual studio 2019时出现错误"找不到文件obj\Debug\100\android\assets\xamarin.Auth.dll.mdb"。它发生在VS更新16.9.1之后。如果我在发布时构建应用程序,没有问题。

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

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

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

<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更新中似乎已修复。

Src:https://learn.microsoft.com/en-us/xamarin/android/release-notes/11/11.2#known-发布快速部署和mdb文件
https://github.com/xamarin/xamarin-android/issues/5631#issuecomment-794289675

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

最新更新