好的,经过一周的挫折后,我认为现在是时候联系万维网上的专家,以及StackOverflow。
我一直在做的是将应用程序迁移到EF 6.1.3,SQL Server Compact 4.0 SP1和Sync Framework 2.1。结果实际上并不是我引以为荣的事情,过去几天我似乎无法摆脱名人:
抛出异常:' System.MethodAccessException'在Microsoft.Synchronization.Data.SqlServerCe.dll
中其他信息:尝试按方法' Microsoft.Synchronization.Data.SqlServerCe.SqlCeClientSyncProvider..ctor()'访问方法' System.Data.SqlServerCe.NativeMethods.CreateErrorInstance(IntPtr ByRef)'失败。
从SqlCeClientSyncProvider
继承的提供程序的构造函数抛出此异常。
在使用SysInternals Process Explorer和融合日志深入研究此事后,似乎同步框架程序集Microsoft.Synchronization.Data.SqlServerCe
无法使用System.Data.SqlServerCe
中可用的代码。
我已经尝试了无数与互联网上的问题相关的方法,甚至可以从我的系统中删除所有相关的安装,只使用最低限度的安装,但到目前为止还没有成功。
目前最低限度涉及以下NuGet包:
EntityFramework.SqlServerCompact.PrivateDeployment v6.1.3
Microsoft.SyncFramework v2.1.0.2
Microsoft.SyncFramework.DatabaseProvider v3.1.0.0
然而问题仍然存在。 : - (
可能有趣的一些细节:
解决方案中的所有项目都针对x86架构,因为我们对一些淫乱的COM互操作程序集(尽管是整个其他子系统)有一些其他约束。
开发操作系统是Windows 7,64位。我甚至开始认为64位操作系统和32位SQL Compact 4.0甚至可能是干扰。
将上述内容置于具体问题中:如何摆脱MethodAccessException
?
欢迎所有输入,因为这个问题开始让我感到沮丧太久了 - 提前谢谢!