Здравствуйте
Пытаюсь собрать и запустить Dll для Office (для Excel в частности). Бибилиотека написана на С#.
Собрал пример по этому
уроку
Итак.
В VisualStudio 2019 был создан проект по шаблону "Библиотека классок NET.Framework".
В настройках установлен флажок для "Сделать сборку видимой для COM", целевая рабочая среда NET 3.5
Код рабочего классаusing System.Runtime.InteropServices;
namespace howto_dll_for_excel
{
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
public class CSharpTools
{
[ComVisible(true)]
public string AddBrackets(string value)
{
return "[" + value + "]";
}
}
}
Компиляция проходит без ошибок
После компиляции я регистрирую библиотеку dll используя
C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe
и ключи
/tlb /codebase
В результате под excel 2007 x32 все работает отлично. Под excel 2010 x64 и 2013 x64 не работает и выдает ошибку
Класс не зарегистрирован
Даже если зарегистрировать библиотеку под
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe
ошибка остается актуальной
Попытка перекомпилировать проект под NET.Framework 4.7 также не дала результатов.
Подскажите как запустить библиотеку под х64