Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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
.net Assembly.LoadFrom():模块已被导出以包含程序集清单_.net_Vb.net_Dll_.net Assembly - Fatal编程技术网

.net Assembly.LoadFrom():模块已被导出以包含程序集清单

.net Assembly.LoadFrom():模块已被导出以包含程序集清单,.net,vb.net,dll,.net-assembly,.net,Vb.net,Dll,.net Assembly,我有一个在Win7上运行但不在WinXp上运行的应用程序(是的,我们还有一些) 原因是dll:wiaaut.dll 使用regsvr32注册dll有效。但首选的方法是通过代码(减少人工) 因此,我们考虑使用以下代码在load()上加载并注册程序集: Dim asm As Assembly = Assembly.LoadFrom(System.Environment.CurrentDirectory & "\WIA\wiaaut.dll") Dim regAs

我有一个在Win7上运行但不在WinXp上运行的应用程序(是的,我们还有一些) 原因是dll:
wiaaut.dll

使用
regsvr32
注册
dll
有效。但首选的方法是通过代码(减少人工) 因此,我们考虑使用以下代码在
load()
上加载并注册程序集:

       Dim asm As Assembly = Assembly.LoadFrom(System.Environment.CurrentDirectory & "\WIA\wiaaut.dll")
        Dim regAsm As RegistrationServices = New RegistrationServices()
        Dim bResult = regAsm.RegisterAssembly(asm, AssemblyRegistrationFlags.SetCodeBase)
然而在第一行我得到了错误:
模块被导出以包含程序集清单
我试着用其他类似的问题来解决这个问题:

其实不是同一个问题

  • 我的应用程序的目标框架是4.0(所以没有问题)
  • 将我的目标配置更改为x86(仍然存在问题),或任何其他配置
没有实际的解决办法

没有答案

。。。还有更多

所以,对于那边的所有布里亚人,我的问题是:

  • 如何避免异常,使代码正常工作
  • 或者是否有其他方法在当前计算机上注册dll(使用代码)

  • <>这是不可能的,WiAuto.dl是用C++编写的非托管COM服务器。只有.NET程序集可以使用Assembly.Load/From()加载并按如下方式注册。像这样的COM服务器需要由其DllRegisterServer()入口点注册,通常由Regsvr32.exe调用


    请将此问题留给机器所有者处理,WIA需要正确注册,而不仅仅是自动接口。运行其安装程序是一项艰难的要求。WIA版本2首先在Vista上可用,后来被移植到XP。微软有一个可供下载的,我注意到几个月前它已经丢失了。这可能与XP支持被终止有关。这是没有前途的,XP已经结束了。请访问superuser.com,以获取Microsoft无法获取的本安装程序的可能零散副本。如果出现问题,您就不能打电话给Microsoft,这是另一个不将此作为您的问题的原因。

    From,引用“使用WIA自动化层API的应用程序需要Windows Vista或更高版本。不支持Windows的早期版本”。抱歉!奇怪的是,我手动注册了dll…是的。。很有可能您可以在Windows中解决这个问题,但要从代码中解决这个问题,现在需要.manifest文件/嵌入之类的东西。不过我会继续找的。。。我已经有一段时间没有玩XP了!正如我所担心的。。。。。为什么我们的IT基础架构团队远远落后于计划。。。。谢谢你提供的信息!