Предоставляете ли вы COM-интерфейс в библиотеке?
Если нет, чтобы представить COM-интерфейс из библиотеки типов .NET, чтобы его можно было вызывать с классической страницы ASP, нам нужно:
Убедитесь, что GUID сборки назначен, например: [assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
Убедитесь, что атрибут COMVisible имеет значение True - [assembly: ComVisible(true)]
Проверьте опцию проекта «Зарегистрироваться для COM-взаимодействия»
Поместите атрибут GUID в класс, например [GuidAttribute ("4df74b15-d531-4217-af7e-56972e393904")]
Убедитесь, что в вашем коде есть объявление пространства имен: using System.Runtime.InteropServices;
Зарегистрируйтесь с помощью Regasm.exe
РЕДАКТИРОВАТЬ Учитывая, что вы открыли интерфейс COM, пробовали ли вы следующее (используя set
):
set MyClass= P.GetObjectForMyClass(MyClass)