Почему это создание экземпляра reqpro40.applicationclass не удается? - PullRequest
4 голосов
/ 30 мая 2011

Я пытаюсь открыть проект ReqPro из кода класса c #. Следующие шаги:

  1. Добавить ссылку на ReqPro.dll (расширяемость COM dll)
  2. Создайте тип ReqPro40.Application и создайте экземпляр ReqPro40.ApplicationClass, например:

    ReqPro40.Application appReqPro = new ApplicationClass();
    ReqPro40.Project prjReqPro;
    prjReqPro = appReqPro.OpenProject(@"D:\MyReqPro\MyReqPro.rqs", ReqPro40.enumOpenProjectOptions.eOpenProjOpt_RQSFile, "admin", "admin", ReqPro40.enumProjectFlags.eProjFlag_Normal, ReqPro40.enumRelatedProjectOptions.eRelatedProjOption_ConnectNone);
    

Код компилируется хорошо, но при запуске (я написал простой модульный тест) он не может сказать "Could not load file or assembly 'Interop.ReqPro40, Version=1.10.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.":"Interop.ReqPro40, Version=1.10.0.0, Culture=neutral, PublicKeyToken=null".

Update1:

Я попробовал его на своем ноутбуке, и он работал нормально. У меня на ноутбуке установлен ReqPro. Но это не работает на сервере (Windows 2008 Enterprise). Я подключаюсь к серверу, используя удаленное соединение. Любая подсказка?

Обновление для награды

Я буду ожидать некоторый рабочий код с шагами для воссоздания.

1 Ответ

2 голосов
/ 27 июня 2011

Пожалуйста, проверьте на сервере, что ReqPro.dll находится в корневой папке, иногда упомянутая dll не копирует в папку bin. Вы также можете указать элемент «Зондирование» в файле app.config, чтобы указать подпапки, в которых CLR может выполнять поиск, чтобы найти указанную сборку, если она не может найти сборку.

<configuration>
   <runtime>
       <assemblyBinding xmlns="urn:schmas-AWorks-cam:asm.v1">
           <probling privatePath="bin\Ordersbin;Extbin"/>
       </assemblyBinding>
   </runtime>
</configuration>

Обновление: Если вы еще этого не сделали, я бы предложил вам использовать установочный проект для установки вашего проекта, это обеспечит автоматическое копирование любых сторонних dll-файлов в корневую папку при установке приложения.

...