Я работаю в vb.net в Visual Studio 2017. Я новичок в Visual Basic. Я больше знаком с VBA.
Я создал прототип кода для доступа к Autodesk Vault 2019, скачал файл и открыл его в Autodesk Inventor 2019. Этот код был создан с помощью шаблона Autodesk Inventor AddIn в Visual Studio. Код скомпилирован без ошибок и функционирует как задумано.
Конечная цель этого приложения — скомпилировать код в DLL, а затем вызвать эту DLL (с аргументами) из VBA в другой части программного обеспечения (CorelDraw). Насколько я понимаю, для этого мне нужно поместить код в шаблон библиотеки классов, чтобы он правильно скомпилировался в DLL.
При этом у меня возникла проблема со следующей строкой кода:
ActiveInvApp = Marshal.GetActiveObject("Inventor.Application")
«Маршал» взят из «System.Runtime.InteropServices», который импортируется в начале приложения со следующей строкой кода:
Imports System.Runtime.InteropServices
Проблема в том, что Visual Studio не распознает GetActiveObject. Он выделяет его красной волнистой линией. Когда я навожу на него курсор, появляется всплывающая подсказка: «GetActiveObject» не является членом «Маршала»».
На момент написания этого у меня открыто два экземпляра Visual Studio 2017. Один с версией этого кода из библиотеки классов и один с версией Autodesk Inventor AddIn. В версии AddIn нет проблем с этой строкой кода, а в библиотеке классов есть.
Согласно некоторым инструкциям по созданию библиотеки классов DLL, мой код начинается со следующего:
Namespace VaultCOMFunctions
Public Module StringLibrary
<Extension>
Public Sub OpenFromVault(PartNum As String)
'Code for opening the file goes here
Я не уверен, актуально это или нет. Как я уже сказал, я новичок в VB.net.
Я провел много времени, возясь со ссылками, чтобы попытаться прояснить это, но безуспешно. Что может быть причиной этого? Я не могу найти существующие сообщения на форуме (здесь или где-либо еще) с какой-либо похожей проблемой.
GetActiveObject
был членомMarshal
с незапамятных времен, так что... если решение не строится, следите за опечаткой? - person Mathieu Guindon   schedule 18.12.2018