在VS2010上的一个简单的windows表单应用程序中,我放入了一个使用power pack的ovalShape。
现在,此操作自动将Microsoft.VisualBasic.PowerPacks.Vs的引用放入项目属性中。
当在不同的PC上部署时,显然(A)如果此应用程序不工作,则需要安装powerpack,(b)或者可以在引用属性中将其设置为"copy local = true“,以便它应该与应用程序位于下一个。
假设(b)不是一个选项,因为它是一个单独的可执行文件,那么(a)是唯一的选项。这样,如果目标计算机没有powerpack,则需要首先将其通知给用户。
显然,当使用"VisualBasicPowerPacksSetup“时,dll将被部署在中。
C:\Windows\assembly\GAC_MSIL\Microsoft.VisualBasic.PowerPacks.Vs\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.PowerPacks.Vs.dll
因此,盲目的方法只是检查上面的文件是否不存在,然后提示用户安装"VisualBasicPowerPacksSetup“。但我觉得如果应用程序能够真正地在注册表级别进行检查,那么它会更准确。
在注册表中,"Microsoft.VisualBasic.PowerPacks“记录在多个位置,因此造成了混乱。如何识别正确的键,以及在vb中检查此引用的正确方法?
发布于 2020-07-26 13:27:19
您可以尝试创建一个在依赖项中定义的对象,并捕获产生的异常。
处理此问题时,您可以要求用户安装该包。这可能不被认为是良好的实践,但应该可以完成工作。
https://stackoverflow.com/questions/63091442
复制相似问题