C # Project: Build Folder: создайте проект на компьютере и запустите его на другом компьютере. - PullRequest
1 голос
/ 24 сентября 2019

У меня есть проект на C #.Чтобы запустить его, мне нужно предоставить 2 аргумента.

Я хочу создать папку для сборки, которую я могу просто скопировать / вставить на другой компьютер и запустить в будущем.Сначала я создаю проект на компьютере, затем копирую / вставляю папку сборки на другом компьютере (я использую подключение к удаленному рабочему столу).Папка сборки содержит исполняемый файл, файл конфигурации (XML) и файлы .dll.

Когда я запускал программу на втором компьютере, у меня был такой ответ на консоли: System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {99AEA70E-4D13-44BF-A878-33345CBFCBC8} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Iпроверил версию .NET на обоих компьютерах, и это одна и та же версия.

Я пробовал другой вариант сборки (Конфигурация: Выпуск и Платформа: Любой ЦП / x64 / x86 ).

Я видел такие вещи, как ClickOnce , но не могу использовать его из-за двух аргументов.

Кроме того, для запуска этого проекта я используюПользовательский интерфейс (одинаково для обоих компьютеров).Пользовательский интерфейс работает на обоих компьютерах.Это обновление файла конфигурации и запуск проекта.На первом компьютере (мы строим проект на этом) программа работает правильно.На втором компьютере работает пользовательский интерфейс, и когда я запускаю программу через пользовательский интерфейс, у меня возникает проблема, описанная выше.

Есть ли какое-либо решение для устранения этой проблемы?Я нашел какое-то решение, но они старые и не работают.

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Как упомянуто в комментарии, вы используете COM-компонент, который также может потребоваться установить на вашем втором компьютере.

Может быть, когда вы найдете ссылки, найдите соответствующиеDLL и скопируйте их с помощью исполняемого файла.Если вы посмотрите на RedemptionLoader , Дмитрий делает именно то, что вам нужно, чтобы загрузить типы из библиотек DLL там.

Однако убедитесь, что все водна сборка, которая использует рассматриваемые типы, при их использовании без установки COM-компонента.В противном случае вы получите странные сообщения об ошибках.

0 голосов
/ 25 сентября 2019

Спасибо за ваши ответы.Это помогает мне понять проблему.

Итак, эта программа позволяет делать некоторые вещи с Photoshop.На первом компьютере у меня есть Photoshop CS6, а на втором - Photoshop CC.Чтобы решить эту проблему, я создам папку для сборки для Photoshop CS6 и еще одну для Photoshop CC.

Я попытался скопировать / вставить папку сборки с первого компьютера (с Photoshop CS6) на третий компьютер, а также с Photoshop CS6.Это работает!

Проблема была вызвана версией Photoshop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...