我正在将 Windows 脚本主机用于某种安装程序应用程序,并使用它在开始菜单中创建快捷方式。这个问题是我切换到x64环境(win7旗舰版x64+vs2010)时出现的
我添加了对 Windows 脚本宿主对象模型的引用(来自 c:\windows\syswow64\wshom.ocx),它生成了 Interop.IWshRuntimeLibrary dll。
我添加了“使用 IWshRuntimeLibrary;”到我的 .cs 文件,但是当我尝试创建
WshShell sh = new WshShellClass();
它抛出一个异常:
无法加载文件或程序集“Interop.IWshRuntimeLibrary,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。
我假设我需要 64 位版本的 wshom.ocx 才能正常工作,但我不知道应该尝试什么。
或者我只是转储 Windows 脚本内容,但我需要另一种方法从 .net 应用程序创建开始菜单快捷方式。
.NET 似乎需要所有程序集都是相同的 32 位或 64 位,并且不允许您混合和匹配。因此,如果您的应用程序在 32 位中工作,您应该尝试设置编译器选项(在项目属性中)以显式生成“x86”(即 32 位)应用程序(应在 32 位和 64 位上运行) -少量)。这可能比追踪 64 位版本的脚本主机更容易。
请注意,默认编译器选项似乎是“Any”,它在 64 位操作系统上将 .NET 程序集作为 64 位运行,在 32 位操作系统上将 .NET 程序集作为 32 位运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)