Создание COM-видимой библиотеки классов C# в Visual Studio 2022C#

Место общения программистов C#
Anonymous
Создание COM-видимой библиотеки классов C# в Visual Studio 2022

Сообщение Anonymous »

Моя конечная цель — создать библиотеку классов (Calculator.dll) на C#, содержащую функции, которые будут доступны для Excel через VBA.
Я надеялся избежать необходимости чтобы зарегистрировать dll, а лучше использовать оператор Declare Function в коде VBA, но, по-видимому, это невозможно, и мои исследования указали мне на необходимость сделать библиотеку классов COM-видимой, затем зарегистрировать ее и добавить в качестве ссылка на проект VBA. Кажется, что в более ранних версиях Visual Studio это был вопрос щелчка по полю в диалоговом окне свойств проекта, но я не вижу этого поля в VS2022?!
Это шаги, которые я предпринял с «игрушечным» примером, и проблемы, с которыми я столкнулся.
(1) Я создал следующую .dll с классом Calculate и простым методом Add два целых числа. Поскольку мы используем 32-битный Excel, я настроил его на x86.

Код: Выделить всё

namespace ClassLibraryCalculator
{
public class Calculate
{
public int Add(int a,int b){ return a + b; }
}
}
(2) Из командной строки под управлением администратора я попытался запустить
regsvr32 «ClassLibraryCalculator.dll», но обнаружил ошибку «..был загружен, но запись- точка DllRegisterServer не найдена"
По результатам поиска можно сказать, что решением этой проблемы является изменение свойств проекта, это было (в более ранних версиях VS?) диалоговое окно
Изображение

с флажком, но я вижу ничего связанного с COM в свойствах проекта Visual Studio 2022.

Подробнее здесь: https://stackoverflow.com/questions/749 ... tudio-2022

Вернуться в «C#»