Xamarin Forms应用添加ImageCirclePlugin后启动屏崩溃,卸载NuGet无效求助
这种情况我之前也碰到过,大概率是卸载NuGet后项目里还残留了插件的初始化代码或引用,导致启动时触发NullReferenceException。给你几个排查和解决的步骤:
清理残留的初始化代码
插件在安装时会自动在平台项目里添加初始化代码,卸载NuGet时这些代码不会自动删除:- Android项目:打开
MainActivity.cs,检查OnCreate方法里是否有ImageCircleRenderer.Init();这句代码,有的话直接删除。 - iOS项目:打开
AppDelegate.cs,检查FinishedLaunching方法里是否有类似的初始化语句,同样删除即可。
- Android项目:打开
彻底清理项目缓存
手动删除每个项目(共享项目/PCL、Android、iOS)下的bin和obj文件夹,然后在Visual Studio里执行「清理解决方案」,再重新生成整个项目。有时候NuGet的缓存残留会导致程序集加载异常。检查项目文件的残留引用
右键点击各个项目,选择「编辑项目文件」(.csproj),搜索所有包含ImageCircle的标签(比如<PackageReference>或<Reference>),找到后删除这些行,保存后重新加载项目。排查XAML中的残留控件引用
检查你的App.xaml或者其他全局资源字典、页面XAML文件,有没有引用插件的CircleImage控件(比如<controls:CircleImage>这类标签)。即使你没在C#代码里调用,XAML编译时会尝试加载该控件,找不到对应程序集就会触发空引用。定位异常具体触发点
打开Visual Studio的异常设置(路径:Debug→Windows→Exception Settings),勾选「Common Language Runtime Exceptions」,然后重新启动调试。这样能捕获到空引用异常的完整调用栈,定位到具体是哪一行代码触发的问题,更精准地解决。
内容的提问来源于stack exchange,提问作者Giorge Caique

