Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 Reference - Fatal编程技术网

VB.NET外部控件-需要包含在安装程序中吗?

VB.NET外部控件-需要包含在安装程序中吗?,vb.net,dll-reference,Vb.net,Dll Reference,我开发了一个新的标签控件,并将其编译成一个DLL,我正在我的一个其他应用程序中使用它。问题是,如果我没有在安装程序中包含label控件的DLL并将其安装在与应用程序相同的目录中,则应用程序无法在目标环境中启动 我试图理解为什么会这样。我认为使用VB.NET,如果我们引用并使用它构建应用程序,就不必再包含单个DLL。我试着在别处寻找答案,但信息对我来说是不完整的 任何帮助都将不胜感激。很难猜测你是从哪里得到这个主意的。可能是从.NET 4.0开始提供的“嵌入互操作类型”功能,对旧式ActiveX控

我开发了一个新的标签控件,并将其编译成一个DLL,我正在我的一个其他应用程序中使用它。问题是,如果我没有在安装程序中包含label控件的DLL并将其安装在与应用程序相同的目录中,则应用程序无法在目标环境中启动


我试图理解为什么会这样。我认为使用VB.NET,如果我们引用并使用它构建应用程序,就不必再包含单个DLL。我试着在别处寻找答案,但信息对我来说是不完整的


任何帮助都将不胜感激。

很难猜测你是从哪里得到这个主意的。可能是从.NET 4.0开始提供的“嵌入互操作类型”功能,对旧式ActiveX控件很有用。最大的区别在于互操作程序集只包含声明,而不包含代码。你需要你写的代码,它不会传送。”我想用VB.NET,如果我们引用并用它构建应用程序,我们就不必再包含单独的DLL了。当您构建部署项目时,所有dll都包含在.msi文件中,并且它们最终与.exe一起位于program files文件夹中。感谢您的响应。这意味着我在项目中使用的每个外部DLL都必须包含在app文件夹中,并安装在app文件夹中?看看哪个是可用的NuGet包。它能够将dll之类的资源嵌入到可执行文件中。在传统情况下,是的,dll会放在应用程序文件夹中。也许你在想COM时代的“dll地狱”,以及随之而来的注册等。使用.net,您只需将dll复制到应用程序文件夹中,应用程序就会找到它们。如果你愿意的话,你也可以将你的dll安装到GAC中,但这是我从来都不需要研究的事情。