我有一个新的系统。我试图通过64位Windows 7 PC连接并运行系统。该公司向我发送了一个Visual Basic项目。它使用.NET框架4和Windows窗体应用程序。目标CPU是x86。找不到指定的参考-Visual Basic 2013
在引用选项卡中,三个COM引用旁边有“系统找不到指定的引用”语句。在构建时,项目会因这些对象而提供名称空间错误和警告。其他参考工作正常。然后我在debug文件夹中看到了这些.dll文件。我认为它们是在寄给我之前由公司生成的。它们也存在于bin \ debug文件夹中。
我已经删除了三位来自引用列表中的项目,并试图分别如下:
1)在项目中,指的是存在于debug文件夹.dll文件。 (看起来是一种虚假的方式,但是在项目生成时会删除所有的错误,当调试时,它会给出“为CLSID组件检索COM类工厂...失败,因为以下错误:80040154”错误。)
2)将debug文件夹中的.dll文件复制到C:\ Windows \ SysWOW64文件夹中,然后以管理员身份通过regsvr32“name.dll”在控制台中注册。这样,我得到“.dll被加载,但没有找到DllRegisterServer入口点”错误。 (在注册表编辑器中,无法找到在VB中项目属性中看到的那些引用的ID。)
3)执行(2)项,但使用C:\ Windows \ System32文件夹而不是SysWOW64。注册时出现同样的错误。
4)将解决方案平台更改为x86并尝试了1,2和3项。仍有相同的错误。
我必须注册这些dll文件吗?而且,我应该注册这些dll文件,它们存在于debug文件夹中吗?或者它们是否应该在引用选项卡中引用一些“缺失”类型库后生成?不过,我没有这些类型的库。
所有建议都欢迎尽快。提前致谢。
可能是硬编码的DLL文件路径。您应该在某些“参考文件夹”中收集它们,并使用该文件夹来引用DLL文件。您可以通过编辑项目文件来检查它,它是简单的XML。我不会注册这个DLL,它可能会给你带来很多自动构建和部署的麻烦。 – Styxxy 2014-12-02 01:15:21
@Styxxy澄清它:这些是Interop DLL。我怎样才能找到他们的正常的DLL,所以我可以将它们添加到引用? – vbProjectGuy 2014-12-03 23:22:05
@Styxxy并感谢您的建议。 – vbProjectGuy 2014-12-03 23:33:24