最简单的答案是:为您的服务提供最高覆盖优先级。
[OverridePriority(Priority.Highest)] public class MyServiceImpl : IMyService { // ... }
但是,如果以最高优先级注册多个服务,则可能会出现问题,在这种情况下为 AmbiguousMatchException 被扔了。我的意思是,你应该控制你的代码以避免这种情况。如果您认为应用程序运行时可能会加载恶意程序集,请提供您自己的程序集 AppRuntime 可在装载前检查组件的服务。
AmbiguousMatchException
AppRuntime
校验 https://github.com/kephas-software/kephas/wiki/Application-Services#override-priority 有关此主题的更多信息。