Я так понимаю, что это что-то очевидное, но ничего на ум не приходит.Например, для сборок AutoCAD в режиме отладки указано Copy Local = True вместо False
Например, для сборок AutoCAD в режиме отладки указано Copy Local = True вместо FalseНет. Проверял.
Кстати, а сборка в режиме отладки там вообще загружается?Да, загружается (если критерием загрузки считать отсутствие ошибок после Netload).
Нет. Проверял.Проверь, что в каталоге Debug нет сборок AutoCAD.
Да, загружается (если критерием загрузки считать отсутствие ошибок после Netload).Критерий неправильный. Вставь в метод Initialize отладочную печать или точку остановки и проверь.
Да, загружается (если критерием загрузки считать отсутствие ошибок после Netload).Смотри версии .net framework. какая на удаленной машине и под которую собран проект.
Проверь, что в каталоге Debug нет сборок AutoCAD.(https://s16.postimg.org/ag8h7f74h/screen_002.jpg) (https://postimg.org/image/ag8h7f74h/)
Критерий неправильный. Вставь в метод Initialize отладочную печать или точку остановки и проверь.Делаю.
Смотри версии .net framework. какая на удаленной машине и под которую собран проект.Это не удаленная машина. Поехал в Москву на неделю, пришлось с собой ноут взять, чтобы была возможность поработать. Версия .Net framework, которая у меня установлена - это 4.6:
Я как то собрал под 2014 акад с .net 4.5 ... и на 2х машинах не запустилось и ошибок не было, потому что там .net 4.0 было...
В итоге, сборка загружается:Убедись, что в методе Initilize не возникает исключение. Лучше всего оберни весь код в:
Но в ней не работает командный метод. Как такое может быть?
Убедись, что в методе Initilize не возникает исключение. Лучше всего оберни весь код в:Так ведь я Initilize вызываю из другого класса.
[CommandMethod("TST")]Эта команда в режиме отладки у тебя работает?
На конкретной машине (Windows7x64) конкретный AutoCAD(2017x64) не видит командный метод из сборки .dll в режиме отладки.Кстати, убедись, что установлен SP1 на AutoCAD 2017x64:
Не видя полного исходного кода - это напоминает лечение по фотографии. Например, возможно у тебя сборке назначен атрибут CommandClass, указывающий на др. тип вместо CommandClassTest.Так ведь тогда бы не работало в AutoCAD2016 в режиме отладки. А у меня не работает отладка только в AutoCAD 2017.
Эта команда в режиме отладки у тебя работает?Нет, ни один командный метод у меня не работает в режиме отладки в AutoCAD2017x64. Да я бы забил на эту мелочь. Столько всего уже переделал, никогда не ожидал подвоха в таком месте. Уверен, это как-то связано с ноутом, на котором я впервые что-то пишу (или .Net framework, как говорил Boxa.Shu, или какие-то непонятные мне настройки). Но не могу дальше работать :) Не отпускает.
Кстати, убедись, что установлен SP1 на AutoCAD 2017x64:Такого подвоха я никак не ожидал!!! :(
http://adn-cis.org/autocad-2017-sp1-i-otladka-.net-prilozhenij.html
http://adn-cis.org/autocad-2017-service-pack-1-mexanizm-avtozagruzki.html
Дабы не заморачиваться с ситуациями, подобными той, что обозначена на скрине ниже (т.е. возникающими при открытии твоих проектов на др. произвольных машинах), ты можешь пользоваться соответствующими NuGet-пакетами: http://bushman-andrey.blogspot.ru/2016/07/nuget-autocad-net-api.htmlЯ только твоими пакетами и пользуюсь с тех пор, как про них узнал.
Такого подвоха я никак не ожидал!!!Я правильно понял, что проблема была в отсутствии SP1 на AutoCAD 2017?
Я правильно понял, что проблема была в отсутствии SP1 на AutoCAD 2017?Ну так, а кнопка РЕШЕНИЕ ни о чем не говорит? ;)
Ну так, а кнопка РЕШЕНИЕ ни о чем не говорит? ;)Это я на всякий случай уточняю, так как с таким не сталкивался и при отсутствии SP1 на AutoCAD 2017. Но у меня в Visual Studio 2013 и 2015 для отладчика стояли опции Options --> Debugging --> Use Managed Compability Mode с самого начала.
Может, кто-то сможет пояснить, в чем дело?Пояснить не могу, но лечится убиванием процесса acad.exe и еще парочки сопутствующих процессов (сейчас точно названия не вспомню), которые запускаются вместе с AutoCAD. Думаю что проблема в "межпроцессном" взаимодействии, когда эти сопутствующие процессы теряют связь с acad.exe, а вновь запущенный процесс acad.exe тоже не в состоянии установить с ними связь. Один из этих процессов связан с системой лицензирования AutoCAD.
Это я на всякий случай уточняю, так как с таким не сталкивался и при отсутствии SP1 на AutoCAD 2017. Но у меня в Visual Studio 2013 и 2015 для отладчика стояли опции Options --> Debugging --> Use Managed Compability Mode с самого начала.Да, когда я начинал что-то пробовать, то везде натыкался на то, что нужно ставить голочку в Use Managed Compability Mode, а потом заметил, что работает все и без нее (на AutoCAD2017x64), а сегодня догнал, что это только в том случае, если установлен SP1. То есть, в принципе, моя проблема была бы и решена установкой галочки, но, учитывая тот факт, что я с непривычным для работы компом, я совсем об этом забыл.
Пояснить не могу, но лечится убиванием процесса acad.exe и еще парочки сопутствующих процессов (сейчас точно названия не вспомню), которые запускаются вместе с AutoCAD. Думаю что проблема в "межпроцессном" взаимодействии, когда эти сопутствующие процессы теряют связь с acad.exe, а вновь запущенный процесс acad.exe тоже не в состоянии установить с ними связь. Один из этих процессов связан с системой лицензирования AutoCAD.Да, я пытался "убивать" acad.exe, но это не помогало, поэтому перезагружался. Теперь ясно, что процессов несколько. Спасибо! :)
Да, я пытался "убивать" acad.exe, но это не помогало, поэтому перезагружался. Теперь ясно, что процессов несколько. Спасибо! :)Мне кажется, что обычно достаточно убить эти процессы:
Мне кажется, что обычно достаточно убить эти процессы:В ближайший же незапуск протестирую. ;)
Мне кажется, что обычно достаточно убить эти процессы:У меня оказалось достаточным убить: acad.exe(разумеется) и WSCommCntr4.exe.