最近、すべてのテストプロジェクトをdotnet4からdotnet3.5に切り替えました(CLR 2.0でコードをテストしたいため(ここを参照)。ほとんどの場合は正常に機能しますが、1つのテストプロジェクトはIWshRuntimeLibraryに依存しています。これは次のcsprojで指定されます。スニペット:
<COMReference Include="IWshRuntimeLibrary">
<Guid>{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
テストプロジェクトを「AnyCPU」としてビルドします。テストプロジェクトが.Net4の場合、これによりANYCPU相互運用DLLが生成されるようでした。現在は.Net3.5であり、相互運用DLLはx86であり、System.BadImageFormatException
64ビットプラットフォームで実行時に発生します。この問題は、テストプロジェクトをダウングレードする前には発生しませんでした。