271 / 238 / 102
Регистрация: 26.10.2012
Сообщений: 715
1

Не работает DllImport на другой машине

07.07.2016, 11:12. Показов 1046. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Вопрос из области гаданий на кофейной гуще, но вдруг?

У меня есть sollution на C#, в нём есть одна библиотека, в библиотеке есть класс, использующий DllImport из отдельного файла Dll-ки. Dll-ка не моя, редактировать или посмотреть её я не могу. Dll-ке скармливаются определенные данные (массив целых чисел, делегаты). Затем из Dll-ки вызывается её метод рассчета.

До сих пор все это работало. Но после того, как я перешел на VisualStudio 2015 Framework 4.6.1 C# 6.0
(с VisualStudio 2013 Framework 4.0 C#4.0) на одной из машин программа зависает на месте вызова метода из Dll-ки.
На всех машинах установлен Windows 7 64 бит версия 6.1.7601. На моей машине dll-ка работает корректно. На другой зависает.
Хотя на установлен один и тот же sollution и dll-ке скарливаются одни и те же данные.

Примечательно, что при определенных условиях Dll-ку можно запустить. В sollution-е есть другой проект (на WinForms), который также использует ту библиотеку с Dll-кой, но работает, тогда как проект на Wpf с той же библиотекой зависает. Непонятно. (проекты на WinForms и на Wpf обращают к Dll-ке одинаковые запросы)
Я пробовал играться с параметрами билда проектов (ставил платформу x86 с AnyCpu) - иногда некоторые методы из Dll-ки проходили, а на некоторых программа зависала.

Повторюсь, такое несоответствие наблюдается только на отдельном компьютере при новых условиях (VisualStudio 2015 Framework 4.6.1 C# 6.0). На моем компьютере тот же проект работает правильно.
Какие могут быть идеи?

Добавлено через 1 час 31 минуту
Протестировал на третей машине. Вообще цирк:
при компиляция на AnyCpu зависает
при компиляции на x86 работает через раз: иногда метод из dll-ки выполняется, иногда - зависает

Добавлено через 1 час 19 минут
Хм.. ндаа...
Итак - причина: когда в процессах висел процесс [ProjectName].vshost.exe, Dll-ка не работала
.vshost.exe притом запускался после закрытия, его закрывало только закрытие студии
Проблема решилась снятием галки Enable the Visual Studio hosting process в настройках проекта.

Хотя на моей машине галка Enable the Visual Studio hosting process стоит, а процесс vshost.exe самоубивается после остановки работы.
Может есть какие-то глобальные настройки студии?
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2016, 11:12
Ответы с готовыми решениями:

Программа на WFP не корректно работает на другой машине
Всем привет. Проблема такая: программа на C# WFP на нескольких компьютерах работает, на другом -...

Программа, работающая с ORACLE, не работает на другой машине - ошибка версии библиотеки доступа к данным
Написал небольшую программу на C#, просто подключается к ораклу. На другом компьютере если её...

Не работает один из параметров в DllImport
Добрый день! Подскажите пожалуйста, в таком вопросе: есть библиотека написанная в дельфи, я...

Не работает подключение Dll через DllImport
Почему не подключается функция Public Class Class1 Function s(ByVal N As Single) As Single...

1
Заблокирован
07.07.2016, 12:28 2
Очень странно (подписка на тему )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2016, 12:28
Помогаю со студенческими работами здесь

Приложение не запускается на другой машине
Здравствуйте. У меня нарисовалась такая проблема: Программы, которые я пишу, работают только у...

Запуск программы на другой машине
У меня маленький вопрос: как можно запустить прогу, написанную в Cbuilder на компе обычного...

Запустить exe на другой машине
Понимаю что тема неоднократно поднималась,но проблема у меня не решается.Не запускается программа...

Работоспособность lib на другой машине
Здравствуйте, подскажите должна ли работать lib на другой машине, где нет установленного...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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