汇编版本加载问题和SQL CE

我有一个利用SQL CE 3.5的应用程序和.NET 3.5的实体框架。 我们遇到了SQL CE 3.5 SP2 RTM的已知问题,导致应用程序崩溃。结果,我们获得了Cummulative Update 2,显然解决了这个问题。 由于我们通过XCopy在我们的应用程序中部署了SQL CE,因此我们假设只需用CU2版本替换本地托管和非托管DLL即可。 如果SQL CE已提前安装在计算机上(因此在GAC中),我们的应用程序将忽略更新版本的程序集和DLL,并从GAC加载旧的,损坏的版本。 我们确定卸载SQL CE(从而将其从GAC中删除)或更新GAC的程序集允许我们的应用程序使用正确的版本。 有没有更好的办法?我已经尝试过Assembly.LoadFile,但这似乎没有用。 (两个版本都已加载,但较旧的版本是实际使用的版本。)     
已邀请:
您是否针对特定版本的SQL CE程序集?在属性选项卡中,检查引用的“特定版本”属性是否设置为True。还要检查您是否没有装配绑定重定向,该重定向指示.Net框架使用较旧的程序集。 我只能假设Cummulative Update 2增加了版本号,如果是这种情况,只有在汇编版本完全匹配时才应使用GAC中的程序集。如果它们不匹配,则.Net框架应使用应用程序目录中找到的程序集,因为它们确实与版本号匹配。     

要回复问题请先登录注册