私はいくつかのコードを C# から F# に変換しようとしています。具体的には、ここからショートカットを作成するコードです。
C# のコードは次のとおりです。
[GuidAttribute("00021401-0000-0000-C000-000000000046")]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComImportAttribute()]
private class CShellLink{}
私はF#に次のように翻訳しました:
[<GuidAttribute("00021401-0000-0000-C000-000000000046")>]
[<ClassInterfaceAttribute(ClassInterfaceType.None)>]
[<ComImportAttribute()>]
type CShellLink() = class end
残念ながら、F# の実装に切り替えると、「インポートでゼロ以外の RVA を持つメソッド」という実行時エラーが発生します。これは、ここで報告されているエラーと同じようです: http://social.msdn.microsoft.com/Forums/en-US/fsharpgeneral/thread/dada2004-5218-4089-8918-eed2464bbbcd
回避策はありますか?F# のみを使用するようにアプリケーションを移植しようとしているので、これが F# で記述できない場合は、そのプロジェクトを再考する必要があります。