无法解释MissingFieldException [英] Inexplicable MissingFieldException

查看:1954
本文介绍了无法解释MissingFieldException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在下面的代码片段中,它抛出一个MissingFieldException:Field Not Found:DepthBidLevels异常,但只在下面描述的某些奇怪的情况。

 code> for(int i = DomSize-1; i> = 0; i--){
fixed(ushort * p = binary.DepthBidLevels){
if(i!= DomSize- 1){
builder.Append(,);
}
builder.Append(*(p + i));
}

二进制变量的类型是在单独的assemply :

  unsafe public struct TickBinary 
{
public const int DomLevels = 5;
public const int SymbolSize = 8;
public const int minTickSize = 256;

public long符号;
public byte contentMask;
public long Id;
public long UtcTime;
public long UtcOptionExpiration;
public long Strike;
public long投标;
public long Ask;
public byte Side;
public long价格;
public int Size;
public fixed ushort DepthAskLevels [DomLevels];
public fixed ushort DepthBidLevels [DomLevels];
}

好吧,上面的代码取决于编译的位置和方式。



但是,如果代码段汇编是在不同的机器上构建的,那么只要两个代码片段(代码段汇编和TickBinary汇编)在同一台机器上编译,从TickBinary程序集中,然后一起运行,然后MissingFieldException被抛出。



你可能会想,为什么他们是建立在不同的机器上?这个项目提供了部分代码作为开源和项目的其他部分作为预编译的二进制。因此,用户编译自己的一部分并简单地引用预编译的程序集。



注意:代码片段总是使用Release配置意味着已启用优化。 p>

但是对我来说这是莫名的莫名其妙的是如何给DepthBidLevels字段丢失字段异常。这不看到使用任何种类的反射或固定的关键词使用反射下的覆盖?我怀疑它是因为代码片段的性能快了。



编辑:我缩小了,关键因素是程序集是否通过msbuild从命令行编译或通过Visual Studio 2008编译。如果所有都是通过命令行编译,它的工作原理。如果所有都通过Visual Studio编译,它的工作原理。但是,使用由MSBuild构建的TickZoomEngine并使用通过Visual Studio 2008构建的TickZoomAPI1.0运行它失败。在进行这些实验时,代码更改为零。为什么Visual Studio编译与MSBuild编译不兼容?



编辑:由于下面的想法,这里是所有程序集及其引用的转储。一切似乎都在秩序。具体来说,最后一个程序集,TickZoomEngine就是一个代码片段,它引用了TickZoomAPI1.0程序集中的struct类型。

 列出所有程序集引用... 
mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
Microsoft.VisualStudio.HostingProcess.Utilities,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:Microsoft.VisualStudio.HostingProcess.Utilities.Sync,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:Microsoft.VisualStudio.Debugger.Runtime,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Drawing,版本= 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Security,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:Accessibility,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Runtime.Serialization.Formatters.Soap,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Deployment,Version = 2.0.0.0,Culture = neutral ,PublicKeyToken = b03f5f7f11d50a3a
System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考: System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = PublicKeyToken = b77a5c561934e089
Microsoft.VisualStudio.HostingProcess.Utilities.Sync,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
Microsoft.VisualStudio.Debugger.Runtime,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
vshost,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,文化=中立,PublicKeyToken = b77a5c561934e089
参考:Microsoft.VisualStudio.HostingProcess.Utilities .Sync,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0 ,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Security,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Security,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
System.Data,Version = 2.0.0.0,Culture =中立,PublicKeyToken = b77a5c561934e089
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:Microsoft.VisualC,Version = 8.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考: .Transactions,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.EnterpriseServices,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Configuration = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
System.Deployment,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,Culture = neutral ,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Security,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Data.SqlXml,Version = 2.0.0.0,文化=中立,PublicKeyToken = b77a5c561934e089
参考:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
TickZoomGUI,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:TickZoomCharting,Version = 1.4 .8.8462,Culture = neutral,PublicKeyToken = null
参考:TickZoomPresentation,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:WindowsFormsUtil,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
TickZoomPresentation,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0。 0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Drawing,Version = 2.0.0.0,Culture =中文,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考: ,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Drawing,Version = 2.0 .0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
WindowsFormsUtil,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomPresentation,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System。 Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System,Version = 2.0。 0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
PluginLoader,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Web,版本= 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:ICSharpCode.SharpZipLib,Version = 0.85.5.452,Culture = neutral,PublicKeyToken = 1b03e6acf1164f73
TickZoomLogging,Version = 1.4.8.8462,Culture = ,PublicKeyToken = null
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 1b44e1d426115821
参考:System.Core, Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Drawing,Version = 2.0。 0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 1b44e1d426115821
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考: .Data,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Web,版本= 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
TickZoomCharting,Version = 1.4.8.8462,Culture = ,PublicKeyToken = null
参考:System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考: ZedGraph,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:WindowsFormsUtil,Version = 1.4。 8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
System.Web,Version = 2.0.0.0,Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Xml ,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Data,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Web.Services,版本= 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.DirectoryServices,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.DirectoryServices.Protocols,Version = 2.0 .0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.EnterpriseServices,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Design,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.ServiceProcess,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Windows.Forms,Version = 2.0.0.0,Culture = neutral ,PublicKeyToken = b77a5c561934e089
参考:System.Web.RegularExpressions,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
Accessibility,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
TickZoomPluginCommon,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0。 0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System.ServiceProcess,Version = 2.0.0.0,Culture =中立,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Configuration.Install,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
System.ServiceProcess,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0 .0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Configuration.Install,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Windows.Forms,Version = 2.0 .0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
System.Configuration.Install,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Runtime.Serialization.Formatters.Soap,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
TickZoomPluginExamples,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:TickZoomPluginCommon,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib, Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Drawing,Version = 2.0。 0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
参考:System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
ProviderCommon,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Windows.Forms ,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
ProviderUtilTests,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:nunit.framework,Version = 2.5.1.0,Culture = neutral,PublicKeyToken = 96d09a1eb7f44a77
参考:ProviderUtil,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考: System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
TickZoomLoaderTests,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,文化=中性,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,版本= 1.4.8.8462,文化=中性,PublicKeyToken = null
参考:nunit.framework,版本= 2.5.1.0,文化= PublicKeyToken = 96d09a1eb7f44a77
参考:PluginLoader,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
ExampleTest,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:TickZoomPluginCommon ,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:nunit.core,Version = 2.5.1.0 ,Culture = neutral,PublicKeyToken = 96d09a1eb7f44a77
参考:nunit.core.interfaces,Version = 2.5.1.0,Culture = neutral,PublicKeyToken = 96d09a1eb7f44a77
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:TickZoomCharting,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:TickZoomPresentation,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:WindowsFormsUtil,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:TickZoomPluginExamples,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Core, Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomGUI,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Windows.Forms,Version = 2.0。 0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomStarters,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:nunit.framework,Version = 2.5.1.0, PublicKeyToken = 96d09a1eb7f44a77
参考:TickZoomTickUtil,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:ZedGraph,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
nunit.core,Version = 2.5 .1.0,Culture = neutral,PublicKeyToken = 96d09a1eb7f44a77
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:nunit.core.interfaces,Version = 2.5.1.0,Culture = neutral,PublicKeyToken = 96d09a1eb7f44a77
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Configuration,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
nunit.core.interfaces,Version = 2.5.1.0,Culture = neutral,PublicKeyToken = 96d09a1eb7f44a77
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:系统,版本= 2.0.0.0,文化=中性,PublicKeyToken = b77a5c561934e089
LimeProviderUnitTests,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture =中立,PublicKeyToken = b77a5c561934e089
TickZoomTesting,版本= 1.4.8.8462,文化=中立,PublicKeyToken = null
参考:mscorlib,版本= 2.0.0.0,文化=中立,PublicKeyToken = b77a5c561934e089
:TickZoomPluginCommon,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:TickZoomPluginExamples,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:TickZoomAPI1.0,Version = 1.4 .8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomCharting,Version = 1.4.8.8462,Culture = ,PublicKeyToken = null
参考:TickZoomStarters,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:nunit.framework,Version = 2.5.1.0,Culture = neutral,PublicKeyToken = 96d09a1eb7f44a77
参考:TickZoomTickUtil,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Windows。 Forms = Version 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:tzdata,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
TickZoomEngine,Version = 1.4.8.8462,Culture =中立,PublicKeyToken = null
参考:mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomAPI1.0,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:System.Core,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089
参考:TickZoomTickUtil ,Version = 1.4.8.8462,Culture = neutral,PublicKeyToken = null
参考:System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
pre>

解决方案

它是通过简单地将失败的方法移动到其他dll中解决。所以现在它引用的字段在同一个DLL中。



这只是意味着当运行时绑定到固定结构字段时,加载器逻辑是片状的。


In the following code snippet, it throws a MissingFieldException: Field Not Found: DepthBidLevels exception but only in certain weird situations that are described below.

for(int i=DomSize-1; i>=0; i--) {
    fixed( ushort *p = binary.DepthBidLevels) {
    if( i!=DomSize-1) {
        builder.Append( ",");
    }
    builder.Append( *(p + i));
}

The type for the binary variable is a struct that is defined in a separate assemply:

unsafe public struct TickBinary
{
    public const int DomLevels = 5;
    public const int SymbolSize = 8;
    public const int minTickSize = 256;

    public long Symbol;
    public byte contentMask;
    public long Id;
    public long UtcTime;
    public long UtcOptionExpiration;
    public long Strike;
    public long Bid;
    public long Ask;
    public byte Side;
    public long Price;
    public int Size;
    public fixed ushort DepthAskLevels[DomLevels];
    public fixed ushort DepthBidLevels[DomLevels];
}

Okay, the code above works depending on where and how it gets compiled. As long as both assmeblies (the snippet assembly and the TickBinary assembly) are compiled on the same machine they work fine.

However, if the snippet assembly gets built on different machine from the TickBinary assembly and then run together, then the MissingFieldException gets thrown.

You may wonder, why they are built on different machines? This project offers part of the code as open source and other parts of project as pre-compiled binaries. So users compile part of themselves and simply reference the pre-compiled assemblies.

NOTE: That the snippet always gets compiled with Release configuration meaning that it has optimizations enabled.

But what seems inexplicable to me is how it can give a missing field exception for the DepthBidLevels field. That doesn't see to be using any kind of reflection or does the fixed keyword use reflection under the covers? I doubt it because the performance of the snippet code is lightening fast.

EDIT: I narrowed down that the key factor is whether the assemblies are compile by msbuild from the command line or compiled via Visual Studio 2008. If all are compiled by the command line, it works. If all are compiled via Visual Studio, it works. But taking the TickZoomEngine built by MSBuild and running it with the TickZoomAPI1.0 that was build via Visual Studio 2008 fails. There's zero code change while doing those experiments. Why will Visual Studio compile be incompatible with MSBuild compile?

EDIT: Due to the idea below, here's a dump of all assemblies and their references. Everything seems to be in order. Specifically, the last assembly, TickZoomEngine is the one with the code snippet that reference the struct type in the TickZoomAPI1.0 assembly.

Listing all assembly references...
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Microsoft.VisualStudio.HostingProcess.Utilities, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: Microsoft.VisualStudio.HostingProcess.Utilities.Sync, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: Microsoft.VisualStudio.Debugger.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Microsoft.VisualStudio.HostingProcess.Utilities.Sync, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Microsoft.VisualStudio.Debugger.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
vshost, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: Microsoft.VisualStudio.HostingProcess.Utilities.Sync, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: Microsoft.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Data.SqlXml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
TickZoomGUI, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomCharting, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomPresentation, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: WindowsFormsUtil, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
TickZoomPresentation, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
WindowsFormsUtil, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomPresentation, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
PluginLoader, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: ICSharpCode.SharpZipLib, Version=0.85.5.452, Culture=neutral, PublicKeyToken=1b03e6acf1164f73
TickZoomLogging, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
TickZoomCharting, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: ZedGraph, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: WindowsFormsUtil, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.DirectoryServices.Protocols, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Web.RegularExpressions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
TickZoomPluginCommon, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
TickZoomPluginExamples, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomPluginCommon, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ProviderCommon, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
ProviderUtilTests, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: nunit.framework, Version=2.5.1.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
    Reference: ProviderUtil, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
TickZoomLoaderTests, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: nunit.framework, Version=2.5.1.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
    Reference: PluginLoader, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
ExamplesTest, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomPluginCommon, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: nunit.core, Version=2.5.1.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
    Reference: nunit.core.interfaces, Version=2.5.1.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomCharting, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomPresentation, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: WindowsFormsUtil, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomPluginExamples, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomGUI, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomStarters, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: nunit.framework, Version=2.5.1.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
    Reference: TickZoomTickUtil, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: ZedGraph, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
nunit.core, Version=2.5.1.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: nunit.core.interfaces, Version=2.5.1.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
nunit.core.interfaces, Version=2.5.1.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
LimeProviderUnitTests, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
TickZoomTesting, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomPluginCommon, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomPluginExamples, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomCharting, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: TickZoomStarters, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: nunit.framework, Version=2.5.1.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
    Reference: TickZoomTickUtil, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: tzdata, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
TickZoomEngine, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomAPI1.0, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Reference: TickZoomTickUtil, Version=1.4.8.8462, Culture=neutral, PublicKeyToken=null
    Reference: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

解决方案

It was solved by simply moving the method that was failing into the other dll. So now the field that it references is in the same DLL.

This simply means that the loader logic is flaky when it comes to run-time binding to fixed struct fields.

这篇关于无法解释MissingFieldException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆