为什么我的ADODB.dll引用发生了变化?

时间:2017-06-09 12:14:36

标签: .net vb.net dll adodb

我有一个遗留的VB.NET应用程序,最初是用MSVS2010(或可能更早版本)编写的。它包含对Microsoft ActiveX Data Objects 2.8库的COM引用,即ADODB.dll,位于FooProject\obj\x86\Debug\Interop.ADODB.dll

我一直在使用MSVS2017在我的Windows 10 PC上开发这个应用程序,但是最近当我尝试在其使用的Windows 7机器上运行时,我得到ADODB引用的错误,包装器组件丢失了

我已经检查过目标平台设置为x86(Win 7机器是32位,我的开发机器是64位)。但错误仍然存​​在。回顾一下提交,我可以找到引入问题的地方。在对MSSQL DB表(添加列)进行一些更改以及后续更新LINQ-to-SQL DBML文件期间,vbproj文件中ADODB引用的包装器设置似乎已从tlbimp更改为primary。

虽然它没有在提交历史记录中显示,但引用的路径也会更改为C:\WINDOWS\assembly\GAC\ADODB\7.0.33.00.0_b03f5f7f11d50a3a\ADODB.dll

现在我想我可以改回路径,但由于这与自动生成的代码(DBML和VBPROJ)有关,我不确定obj中的dll是否应该总是在那里,如果这是正确的方式来引用它?我认为要确定正确的行动方案,这将有助于理解为什么发生了这种变化......谁能告诉我?

可能this question有关,但我不确定。

更新 在Windows 7机器上进行了一些调整之后,我将引用更改为其他版本(2.8 - > 6.0)然后再返回...现在引用路径返回到obj并且项目构建。但是,这在我的Windows 10计算机上可以正常工作,我需要将其匹配,以便我不会经常尝试在不同的引用之间来回切换。

我注意到this question谈到了类似的问题,但没有一个解决方案适用于我。

0 个答案:

没有答案