C# MONO Microsoft.Owin.Host.HttpListener带有间歇性System.MissingMemberException-为什么?

C# MONO Microsoft.Owin.Host.HttpListener带有间歇性System.MissingMemberException-为什么?,c#,asp.net,mono,owin,C#,Asp.net,Mono,Owin,重要提示。。。这是在Mono/Linux上!也许我应该在之前提到… 我正忙于移植继承的代码,以创建一个本地http侦听器,直到最近,该侦听器一直运行良好 然而,昨天我们在运行此代码的两台机器中的一台机器上遇到了一个问题,即由于MissingMemberException而导致服务根本无法启动 The server factory could not be located for the given input: Microsoft.Owin.Host.HttpListener 由于我们一直在那

重要提示。。。这是在Mono/Linux上!也许我应该在之前提到…

我正忙于移植继承的代码,以创建一个本地http侦听器,直到最近,该侦听器一直运行良好

然而,昨天我们在运行此代码的两台机器中的一台机器上遇到了一个问题,即由于MissingMemberException而导致服务根本无法启动

The server factory could not be located for the given input: Microsoft.Owin.Host.HttpListener
由于我们一直在那台机器上干扰VPN等,我们想知道是否有可能会干扰它,因此我们转到另一台机器上,该机器具有相同的构建(没有对其进行任何干扰),并且也无法处理相同的错误

为了以防万一,我再次重新编译了代码(在更新Nuget包之后——有趣的是,其中包括Owin的东西)并复制到这两台机器上。两种方法都失败了

头发在这个阶段脱落了,我们离开了机器一段时间,当我们回来时,一个工作了,一个没有

每一条上的代码都完全相同

最后一夜之间就离开了,两个都工作了,然后一个做了,一个没有。。。等等等等

我们完全没有做任何实质性的工作来解决这个问题,但我无法弄清楚到底发生了什么

异常意味着它正在调用httplistener中某个未实现或未公开的方法

堆栈溢出中的其他问题表明,dll可能不在那里——但很明显,它在那里,否则它永远不会工作

也许是在监听器工作的某个地方,特定的环境迫使它寻找一个未实现/可用的方法

网络问题会导致这种情况发生吗?如果是,为什么?所有必要的通信都是本地的吗

任何想法都将被感激,因为我因为这一切而过早衰老

下面是堆栈跟踪

> MissingMemberException: The server factory could not be located for
> the given input: Microsoft.Owin.Host.HttpListener   Module
> "Microsoft.Owin.Hosting.Engine.HostingEngine", line 69, col 0, in
> ResolveServerFactory
>     Void ResolveServerFactory(Microsoft.Owin.Hosting.Engine.StartContext)  
> Module "Microsoft.Owin.Hosting.Engine.HostingEngine", line 66, col 0,
> in Start
>     System.IDisposable Start(Microsoft.Owin.Hosting.Engine.StartContext)   Module
> "Microsoft.Owin.Hosting.Starter.DirectHostingStarter", line 12, col 0,
> in Start
>     System.IDisposable Start(Microsoft.Owin.Hosting.StartOptions)   Module "Microsoft.Owin.Hosting.Starter.HostingStarter", line 46, col
> 0, in Start
>     System.IDisposable Start(Microsoft.Owin.Hosting.StartOptions)   Module "Microsoft.Owin.Hosting.WebApp", line 75, col 0, in
> StartImplementation
>     System.IDisposable StartImplementation(System.IServiceProvider, Microsoft.Owin.Hosting.StartOptions)   Module
> "Microsoft.Owin.Hosting.WebApp", line 20, col 0, in Start
>     System.IDisposable Start(Microsoft.Owin.Hosting.StartOptions)   Module "Microsoft.Owin.Hosting.WebApp", line 35, col 0, in Start
>     System.IDisposable Start[LocalServerStartup](Microsoft.Owin.Hosting.StartOptions)  
> Module "Microsoft.Owin.Hosting.WebApp", line 6, col 0, in Start
>     System.IDisposable Start[LocalServerStartup](System.String)

尝试创建一个精简的、最小的示例,它可以复制问题(如果只有一台机器),并在这里发布代码。至少请发布完整的异常(使用stacktrace)。更可能的是,发布的输出中缺少整个Microsoft.Owin.Host.HttpListener.dll。不知道为什么会是间歇性的,除非有防病毒或类似的锁定文件。@Tratcher是的,我想,但dll肯定在工作时和不工作时都在那里-并且在这两者之间没有被弄乱。我的想法是.dll中的成员不是在Mono中实现的,而某些条件使得这一点很明显?