我已经构建了一个在客户端机器上运行的小型 Windows 服务,连接到本地数据库并将该数据发布到 Web 服务。我将 Topshelf 与 Ninject 一起使用,代码本质上是样板文件,直接来自模板。我添加了 Fody Costura 以使其易于部署,并已成功将其部署在许多客户端计算机上。但是,在我正在使用的一台客户端计算机上,当我尝试运行应用程序或安装服务时,我收到以下错误:
Topshelf.HostFactory Error: 0 : An exception occurred creating the host, System.MissingMethodException: Method not found: 'Topshelf.HostConfigurators.HostConfigurator Topshelf.Ninject.HostConfiguratorExtensions.UseNinject(Topshelf.HostConfigurators.HostConfigurator, Ninject.Modules.INinjectModule[])'.
at OpiniionDentrixIntegration.Program.<>c.<Main>b__0_0(HostConfigurator x)
at Topshelf.HostFactory.New(Action`1 configureCallback)
Topshelf.HostFactory Error: 0 : The service terminated abnormally, System.MissingMethodException: Method not found: 'Topshelf.HostConfigurators.HostConfigurator Topshelf.Ninject.HostConfiguratorExtensions.UseNinject(Topshelf.HostConfigurators.HostConfigurator, Ninject.Modules.INinjectModule[])'.
at OpiniionDentrixIntegration.Program.<>c.<Main>b__0_0(HostConfigurator x)
at Topshelf.HostFactory.New(Action`1 configureCallback)
at Topshelf.HostFactory.Run(Action`1 configureCallback)
由于某种原因,这台特定机器(Windows 7、.NET 4.6.2)找不到包含缺失方法的所谓嵌入式 Topshelf.Ninject.dll。我尝试在多个位置添加 dll,删除并读取了引用,并将应用程序剥离到最低限度,但这台机器仍然存在问题。在这台随机机器上错过了这一随机参考会发生什么情况?