Я пытаюсь создать библиотеку C # (.dll) с помощью .net Framework, которую можно запустить в Visual Basic (Excel).Я занимаюсь разработкой на Visual Studio.
После некоторых исследований я обнаружил, что мы можем использовать интерфейс COM для связи между DLL и VBA.Я имею в виду Вызов метода библиотеки .net из vba
Я не могу проверить опцию сборки «Зарегистрироваться для взаимодействия COM» из Visual Studio.Эта опция отключена. option_disable
Затем, когда я использовал «InterfaceType (ComInterfaceType.InterfaceIsDual)», Visual Studio говорит, что этот аргумент устарел. аргумент устарел
Наконец, я не могу вызвать свою функцию "HelloWorld" из кода VBA.
Точность:
Моя программа на C # /. Net успешно завершена
Я регистрирую свою DLL с помощью этой команды (зарегистрируйтесь без ошибок)
regasm /s /codebase /tlb ClassLibrary3.dll
Myполная программа на C # /. net:
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
namespace ClassLibrary3
{
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[ComVisible(true)]
public interface _Test
{
string HelloWorld();
}
[ClassInterface(ClassInterfaceType.None)]
[ComVisible(true)]
public class Test : _Test
{
public string HelloWorld() {
return "Hello, World! ";
}
}
}
Есть вариант, который я могу использовать, кроме COM?
Или в чем проблема в моей программе?
Спасибоза помощь:)
Бастьен