Создание 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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