当前结构:
[StructLayout(LayoutKind.Explicit, Size = 16, Pack = 8)]
private struct SubStruct
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
[FieldOffset(0)]
public byte[] Array;
[FieldOffset(8)] public MockEnum MockEnum;
}
这个简单存在于我的单元测试项目中的结构阻止了resharper在x64设置下运行它。我刚刚得到了“不确定,测试没有运行”#34;错误。
在x86中编译工作正常,如果我注释掉字节数组及其两个属性,我可以在x64中编译没问题。
因为某些原因[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
与x64相处不合适?
在VS2015,C#6.0,.Net 4.6.2,Resharper 2017.1.3
中运行它更新: 在此设置上正常工作:VS2017,C#7.0,.net 4.5.2,Resharper 2017.1.3
必须是.net问题或Visual Studio 2015问题吗?