Axa*_*dax 6 c# interop windows-scripting
我正在使用Windows脚本主机用于某种安装程序应用程序,我正在使用它在开始菜单中创建快捷方式.当我切换到x64环境时出现此问题(win7 ultimate x64 + vs2010)
我添加了对Windows脚本宿主对象模型的引用(来自c:\ windows\syswow64\wshom.ocx),它生成了Interop.IWshRuntimeLibrary dll.
我添加了'using IWshRuntimeLibrary;' 到我的.cs文件,但是当我尝试创建时
WshShell sh = new WshShellClass();
Run Code Online (Sandbox Code Playgroud)
它引发了一个异常:
无法加载文件或程序集'Interop.IWshRuntimeLibrary,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一.尝试加载格式不正确的程序.
我认为我需要64位版本的wshom.ocx来实现这一点,但我不知道应该尝试什么.
或者我只是转储Windows Script的东西,但我需要另一种方法来从.net应用程序创建开始菜单快捷方式.
似乎.NET需要所有程序集都是相同的32位或64位,并且不会让你混合和匹配.所以,如果你的应用程序在32位工作,你应该尝试设置编译选项(在项目属性)明确产生一个"86"(即32位)应用程序(应该在32位和64运行位).这可能比跟踪64位版本的脚本主机更容易.
请注意,默认编译器选项似乎是"Any",它将在64位操作系统上以64位运行.NET程序集,在32位操作系统上运行32位.
| 归档时间: |
|
| 查看次数: |
9184 次 |
| 最近记录: |