私はVS2010で作業しており、アプリケーションを.NET 4にアップグレードする作業を行っています。アプリケーションはExcelをベースとして構築されており、Excelを使用するために.NETのいくつかの改善点を利用したいと考えています。しかし、一般的な辞書でExcelInteropオブジェクトを使用したことが原因と思われる奇妙なエラーに遭遇しました。生成されたエラーは次のとおりです。
C:\MyApp\TheAssembly\MyClass.cs(823,57):
error CS1769: Type 'MyApp\OtherAssemply.IMyController.SheetReports' from assembly 'c:\MyApp\OtherAssemply.\bin\Debug\OtherAssembly.dll'
cannot be used across assembly boundaries because it has a generic type
parameter that is an embedded interop type.
問題のある実際のプロパティは次のとおりです。
Dictionary<Excel.Worksheet, IReportSheet> SheetReports { get;}
ジェネリックオブジェクトで相互運用オブジェクトを使用できませんか?その場合、これは.NET4.0の重大な制限です。Embed Interopプロパティをfalseに設定しようとしましたが、何も変わらないようです。これを回避する方法があれば教えてください。