我们正在尝试将程序从32位更改为任何CPU。该程序在.NET 3.5上的C#中。
我们正在使用Windows Task Scheduler COM包装器。
应用程序编译但是当我们尝试在64位平台上运行它时,我们收到以下错误:
BadImageFormatException: 无法加载文件或程序集'Interop.TaskScheduler, Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 4b71cab8d8e4499f'或 其中一个依赖项。尝试加载带有的程序 格式不正确。
更新:我们在Any CPU中创建了一个新的C#项目,其中TaskScheduler作为参考,并且使用非常简单的2行代码(创建TaskSchedulerClass的实例并向控制台写入一行)。我们在同一个64位平台上运行它,它运行良好。但是,整个应用程序仍然无法正常工作。 谢谢你的帮助。
答案 0 :(得分:4)
由于它是一个COM互操作程序集,很可能只有它的32位。您必须将项目保持为32位。
答案 1 :(得分:0)
你的组件只能工作32位,尝试查找x64版本或替代程序集
答案 2 :(得分:0)
您可以使用WMI通过标准托管接口计划任务,以避免使用限制您以32位运行的COM组件。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394399(v=vs.85).aspx