在发布模式下发布 Xamarin 应用程序时,在 DI 引擎中找不到已注册的服务

我正在使用 Xamarin 编写 Android Wear 应用程序。我正在使用该Microsoft.Extensions.DependencyInjection库来处理我的应用程序中的服务依赖注入。当我在实际的智能手表上通过 Visual Studio (Ctrl + F5) 在调试模式下运行应用程序时,它完全正常工作。该应用程序功能正常,一切正常。但是,当我使用 Xamarin 工具集的“存档...”功能发布应用程序,然后将发布的版本旁加载到我的智能手表上时,应用程序在启动时崩溃,并显示异常System.InvalidOperationException: A suitable constructor for type 'My.Library.SomeManager' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor.。这产生IServiceProvider.GetService于对SomeManager类型的调用。

我不知道为什么会这样。我在注册服务时登录到 logcat,可以看到它们在已发布的版本中注册,但由于某些奇怪的原因,依赖注入引擎无法找到它们。我不太了解 Xamarin 的内部工作原理,无法选择解决此问题的方向。有谁知道是什么导致了这种奇怪的行为?


回首忆惘然
浏览 172回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP