Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 7
1

Не запускается приложение, использующее QuickOPC

10.11.2014, 11:16. Показов 2298. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приложение написано в среде Visual Studio 2013. В программе используется библиотеки QuickOPC. Проблема заключается в том, что не запускается .exe файл на клиентских компьютерах(без Visual Studio). Все библиотеки, добавленные в проект(в References) лежат в папке с .exe файлом. На рабочей машине все работает. На обеих машинах стоит Windows 7 SP1 32bit, Framework 4.5 В чем может быть проблема?

Добавлено через 17 минут
Пробовал запускать на чистой системе без предустановленного пакета QuickOPC с библиотеками, но с Visual Studio. Все запускалось, значит проблема не в них.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2014, 11:16
Ответы с готовыми решениями:

Приложение, использующее ado-компоненты, не запускается
приложение, используещие ado-компоненты (adoconnection и adotable, БД - msSQL) не запускается на...

Приложение использующее СУБД Oracle
Подскажите какую среду и язык использовать если нужно создать приложение отображающее данные из...

Кроссплатформенное приложение, использующее SQLite
Как сделать что бы приложение-бд работало и в windows и в linux(opensuse), c System.Data.SQLite не...

Приложение, использующее SkinSoft, не работает
Установил я SkinSoft для VS 13. Создал приложение. С помощью InnoSetup сделал установочный файл....

11
140 / 137 / 22
Регистрация: 16.02.2012
Сообщений: 453
10.11.2014, 11:57 2
Какую ошибку выдает?
0
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 7
10.11.2014, 14:00  [ТС] 3
Появляется сообщение "Прекращена работа программы".
0
140 / 137 / 22
Регистрация: 16.02.2012
Сообщений: 453
10.11.2014, 15:09 4
А в журнале Windows что записывается?
0
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 7
10.11.2014, 17:43  [ТС] 5
Прошу прощения, а где его посмотреть можно?
0
140 / 137 / 22
Регистрация: 16.02.2012
Сообщений: 453
11.11.2014, 08:26 6
http://support.microsoft.com/kb/308427/ru-ru
http://www.oszone.net/10680
http://www.oszone.net/figs/u/7... ent-02.jpg
Посмотрите Журналы Windows - Приложение, что в него записывается в тот момент, когда программа прекращает работу.
0
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 7
12.11.2014, 11:07  [ТС] 7
В журнале две ошибки:
1)Имя журнала: Application
Источник: .NET Runtime
Дата: 12.11.2014 11:02:58
Код события: 1026
Категория задачи:Отсутствует
Уровень: Ошибка
Ключевые слова:Классический
Пользователь: Н/Д
Компьютер: User-ПК
Описание:
Приложение: vibro.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.TypeInitializationException
Стек:
в OpcLabs.EasyOpc.DataAccess.EasyDAClient..ctor(System.ComponentModel.IContainer)
в vibro.UCTest.InitializeComponent()
в vibro.UCTest..ctor(System.String)
в vibro.FormMain.InitForms()
в vibro.FormMain..ctor()
в vibro.Program.Main()
2)Имя журнала: Application
Источник: Application Error
Дата: 12.11.2014 11:02:58
Код события: 1000
Категория задачи100)
Уровень: Ошибка
Ключевые слова:Классический
Пользователь: Н/Д
Компьютер: User-ПК
Описание:
Имя сбойного приложения: vibro.exe, версия: 1.0.0.0, отметка времени: 0x5451f4d1
Имя сбойного модуля: KERNELBASE.dll, версия: 6.1.7600.16385, отметка времени 0x4a5bdaae
Код исключения: 0xe0434352
Смещение ошибки: 0x00009617
Идентификатор сбойного процесса: 0xf90
Время запуска сбойного приложения: 0x01cffe4f118017c9
Путь сбойного приложения: D:\Сборка\bin-6\vibro - 20141029\project\bin\Debug\vibro.exe
Путь сбойного модуля: C:\Windows\system32\KERNELBASE.dll
Код отчета: 50663045-6a42-11e4-8c7f-0800279c00cc
0
140 / 137 / 22
Регистрация: 16.02.2012
Сообщений: 453
12.11.2014, 12:31 8
Вот, теперь вы можете проанализировать причину, главное место из-за чего программа падает - это
Код
Стек:
в OpcLabs.EasyOpc.DataAccess.EasyDAClient..ctor(System.ComponentModel.IContainer)
в vibro.UCTest.InitializeComponent()
в vibro.UCTest..ctor(System.String)
в vibro.FormMain.InitForms()
в vibro.FormMain..ctor()
в vibro.Program.Main()
Посмотрите, что происходит в конструкторе OpcLabs.EasyOpc.DataAccess.EasyDAClient..ctor, можете выложить код или ссылку на сборку, если не найдете причину.

Пока навскидку варианты, из-за чего такое происходит:
- на компьютере нет сборки, обращение к которой происходит в этом конструкторе;
- используется неуправляемый код, в таком случае скомпилируйте вашу сборку exe с platform target x86 (Project Properties - Build).
0
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 7
12.11.2014, 15:41  [ТС] 9
Ссылка на проект: https://www.dropbox.com/s/r5qt... 0.rar?dl=0

Был бы очень признателен, если бы посмотрели.

Добавлено через 1 час 11 минут
Проблема сдвинулась с места.
Убрал из Initaialize Components() одного UserControl объявления компонентов OPC, которые у меня были просто перекинуты на форму в Visual Studio. Это не повлияло на работу приложения при отладке в Visual Studio.
Но зато .exe стал запускаться на клиентской машине. Но есть проблема, он выдает ошибку при работе, когда должен отрабатываться тот самый OpcLabs.EasyOpc.DataAccess.EasyDAClient но в другом месте.

Добавлено через 13 минут
Текст ошибки:
System.TypeInitializationException: Инициализатор типа "OpcLabs.EasyOpc.DataAccess.EasyDAClient" выдал исключение. ---> System.IO.FileNotFoundException: Невозможно загрузить файл или сборку "x86_OpcLabs.EasyOpcClassicRaw_5.30.1114.1.dll" или один из зависимых от них компонентов. Не найден указанный модуль.

Добавлено через 1 минуту
в References в проекте нет такой библиотеки: "x86_OpcLabs.EasyOpcClassicRaw_5.30.1114.1.dll"

Добавлено через 29 минут
--- Конец трассировки внутреннего стека исключений ---
в OpcLabs.EasyOpc.DataAccess.EasyDAClient..ctor()
в vibro.SuperDriver..ctor(TimeSpan time_request, String[] channels) в d:\Projects\vibro\vibro - 20141110\project\SuperDriver.cs:строка 80
в vibro.UCTest.StartThread() в d:\Projects\vibro\vibro - 20141110\project\UCTest.cs:строка 393
в vibro.UCTest.button1_Click(Object sender, EventArgs e) в d:\Projects\vibro\vibro - 20141110\project\UCTest.cs:строка 415
0
140 / 137 / 22
Регистрация: 16.02.2012
Сообщений: 453
12.11.2014, 22:15 10
Насколько я вижу, должна быть еще как минимум сборка с классом OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient, которая имеет полное имя "OpcLabs.EasyOpcClassicRaw, Version=5.30.1114.1, Culture=neutral, PublicKeyToken=6faddca41dacb409". Эта сборка грузится либо из GAC, либо из ресурсов какой-то другой сборки.

Как вариант - эта сборка устанавливается инсталлятором OpcLabs в GAC. Попробуйте распространять со своей программой установщик, либо устанавливайте эту сборку в GAC самостоятельно.

Update: Эта сборка находится в ресурсах OpcLabs.EasyOpcClassic.dll, по какой-то причине она не загружается из ресурсов, попробуйте вариант, который я предложил выше.
скомпилируйте вашу сборку exe с platform target x86 (Project Properties - Build).
и можно выдрать эту сборку вручную из ресурсов.
0
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 7
13.11.2014, 15:44  [ТС] 11
Скомпилил под x86, ничего не изменилось. Как сборку достать, подскажите, пожалуйста.
0
140 / 137 / 22
Регистрация: 16.02.2012
Сообщений: 453
13.11.2014, 22:10 12
Reflector, ILSpy.
1
13.11.2014, 22:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2014, 22:10
Помогаю со студенческими работами здесь

Разработать приложение, использующее заданные компоненты
Разработать приложение, использующее компоненты: 1. Главное меню: Файл (Открыть, Сохранить,...

Сетевое приложение, использующее GSM-модемы
интересует принцип передачи информации с помощью GSM-модемов. Как это происходит, если соотнести...

Как запустить приложение использующее curses.h
Здравствуйте всем. Помогите пожалуйста есть программа, в которой использовалась библиотека...

Приложение, использующее строковые типы данных
программа которая запрашивает полное имя пользователя, затем пользователь вводит строку символов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru