我有一个使用 SQL CE 3.5 和 .NET 3.5 的实体框架的应用程序。
我们遇到了导致应用程序崩溃的 SQL CE 3.5 SP2 RTM 的已知问题。结果,我们获得了明显解决该问题的累积更新 2。
由于我们通过 XCopy 将 SQL CE 部署到我们的应用程序中,因此我们假设简单地用 CU2 版本替换本地托管和非托管 DLL 就可以解决问题。
如果 SQL CE 已提前安装在机器上(因此在 GAC 中),我们的应用程序会忽略较新版本的程序集和 DLL,并从 GAC 加载旧的、损坏的版本。
我们确定卸载 SQL CE(因此将其从 GAC 中删除)或更新 GAC 的程序集允许我们的应用程序使用正确的版本。
有没有更好的办法?我已经尝试过 Assembly.LoadFile,但这似乎不起作用。(两个版本都已加载,但旧版本是实际使用的版本。)