Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 名称空间错误等_Vb.net_Dll_Com_Interop_Typelib - Fatal编程技术网

Vb.net 名称空间错误等

Vb.net 名称空间错误等,vb.net,dll,com,interop,typelib,Vb.net,Dll,Com,Interop,Typelib,我正在制作一个类型库,其中链接了另一个类型库,以实现自定义选项卡控件。链接或引用的类型库可在此处找到: 但是,一切都很好,因为我正在制作的类型库将与COM和GAC一起使用,我必须将链接库合并到我的类型库中。否则,即使我使链接的库COM可见,也无法通过COM识别库 在合并的过程中,也就是说,将TabControl文件夹直接添加到我的项目中,我遇到的问题是我得到了未定义的错误。起初,我有大约600个错误,通过导入,我设法将这个数字降低到198个。除了未定义的错误之外,我还得到一些签名错误。我猜引用有

我正在制作一个类型库,其中链接了另一个类型库,以实现自定义选项卡控件。链接或引用的类型库可在此处找到:

但是,一切都很好,因为我正在制作的类型库将与COM和GAC一起使用,我必须将链接库合并到我的类型库中。否则,即使我使链接的库COM可见,也无法通过COM识别库

在合并的过程中,也就是说,将TabControl文件夹直接添加到我的项目中,我遇到的问题是我得到了未定义的错误。起初,我有大约600个错误,通过导入,我设法将这个数字降低到198个。除了未定义的错误之外,我还得到一些签名错误。我猜引用有问题,但是从我看到的tabcontrol库的所有引用都存在。我认为唯一的区别是它引用了2.0版本

我尝试使用tabcontrol库中的com visible,但这样做会返回一个错误,说明找不到com GUID。因此,我选择在我的项目中直接使用它。为了消除这些错误,我检查了所有的导入,即使一切就绪,我仍然会得到名称空间错误


如何修复这些错误?感谢您的帮助。

我查看了CustomTabControl项目。它最初是用VS2010编写的。我用VS2017打开了它,它成功地被转换了,并且编译没有错误。这是一个.NET Framework 3.5项目,只有x86版本配置

以下是我建议你做的:

将CustomTabControl项目升级到与类型库相同的.NET Framework。 如果类型库支持其他生成配置,请使用相同的生成配置升级CustomTabControl。 一次1。二,。完成后,复制类型库中CustomTabControl的源代码以及任何许可证要求,如果需要添加相同的引用,您可能不需要添加任何引用,因为CustomTabControl使用基本WinForms库。
您肯定缺少对框架库的引用。添加这些引用,您将消除许多错误。System.Drawing.Text无法识别,我尝试在C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0_b03f5f7f11d50a3a中引用System.Drawing.dll的2.0版本。但这些错误都与您在本问题中描述的内容无关。看起来您刚开始使用了错误的项目模板。应该是Windows窗体应用程序,但这只是猜测。你不能在走路之前跑步,最好暂时远离这个自定义控件。从codeproject.com上看,它是一个臭名昭著的地方,只在我的机器项目上工作。毫无疑问,tabcontrol lib在被引用时可以工作。我试图在我的项目中包括文件,而不是引用,以便com可见。不,这是一个包含表单的类型库。我比较了这两个项目,最显著的区别是tabcontrol库使用框架版本2.0,而我的项目使用4.0。当我尝试添加版本2.0时,将加载4.0版本。我如何才能在仍以4.0为目标的情况下强制使用旧版本?指向CodeProject的链接不起作用。我想看看。谢谢你的回复。我考虑过,但它需要修改代码,这将引导我进行新的冒险。例如,System.Drawing.Text。。。。系统不支持。Drawing v 4.0和我必须找到另一种方法来执行相同的操作。更不用说覆盖错误了。我想我做不到。我正在寻找其他替代方案,比如从GAC卸载V4.0失败,并在app.config中绑定程序集版本。您对此有何想法?我完全按照您所说的做了,当我将TabControl文件夹放入project时,出现了200个错误。当时CustomTabControl似乎太旧了,需要进行大量工作才能将其迁移到今天的框架中。您必须评估该控件中您想要的外观、功能,以及您自己想要的元素,或者找到一个更现代的控件来实现它。没有免费的午餐!