#.net #excel #vba #f# #activex
#.net #excel #vba #f# #activex
Вопрос:
Я пытаюсь вызвать F # из Excel (2002), но получаю «Ошибку автоматизации» при попытке создать новый экземпляр моего класса. Я запускаю regasm после сборки, добавляю ссылку, помещаю Excel.Exe.Config в папку Office10 (с помощью .Сетевая версия 4.0.30319.1) и это мой класс:
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Runtime.InteropServices.Guid "F348766A-B63D-41FE-824C-27989266A535">]
type Provider () =
member __.Compile s = Compiler.compile s
И модуль компилятора имеет свои собственные атрибуты с другим идентификатором Guid.
Ошибка находится в этой строке:
Set p = New MCTE.Provider
Есть идеи?
Комментарии:
1. Сообщение об ошибке не очень полезно:-(.. есть возможность найти более подробную информацию об ошибке? Кроме того, насколько сложен ваш код F #? Вы пробовали то же самое в C #?
2. Создал пустой проект C #, один класс (с этими атрибутами, другим идентификатором GUID), один чрезвычайно простой метод — все еще сбой в конструкторе.
3. Вы запускаете regasm с параметром / codebase? Является ли ваш COM-объект x86 или x64?