Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Мурена от 11-01-2019, 09:34:40

Название: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Мурена от 11-01-2019, 09:34:40
Здравствуйте!
Пробую написать (а точнее скопипастить ) и скомпилировать куски кода с руководства AutoCAD .NET Developer's Guide.
Студия 2017 отказывается компилировать и в окне Output куча ошибок.
Интеллисенс ошибки не показывает в окне Error List тоже пусто.
AcCoreMgd.dll дополнительно подключена.
В чём может быть причина?
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Александр Пекшев aka Modis от 11-01-2019, 09:39:57
Так ошибки покажите
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Мурена от 11-01-2019, 09:45:57

(https://i.postimg.cc/3kG27TrR/screen.png) (https://postimg.cc/3kG27TrR)
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Александр Пекшев aka Modis от 11-01-2019, 09:47:03

(https://i.postimg.cc/3kG27TrR/screen.png) (https://postimg.cc/3kG27TrR)
Нужно Error List скринить, а не Output
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Мурена от 11-01-2019, 09:47:53
Там пусто. Показывает 0 Errors
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Александр Пекшев aka Modis от 11-01-2019, 09:49:22
Приложите проект к ответу - так проще будет )
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Мурена от 11-01-2019, 09:56:24
Нашла причину: устанавливала целевую платформу для проекта 4.0 , а сборки , подключённые в References ( accoremgd.dll ) имеют косвенную зависимость и требуют .NET 4.5. Изменение целевой платформы решает проблему, только вот менять не хотелось бы...
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Александр Пекшев aka Modis от 11-01-2019, 10:00:23
только вот менять не хотелось бы...
Почему?
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Мурена от 11-01-2019, 10:06:03
Почему?
Если я правильно понимаю, на для XP не подходит
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Александр Пекшев aka Modis от 11-01-2019, 10:09:25
Почему?
Если я правильно понимаю, на для XP не подходит
О божечки - ХР! Да вы шутите?! Даже 7-ку уже прикрыли
Версию 4.5 можно через ж... установить на ХР, но зачем? Вы сначала туда автокад попробуйте установить, для которого проект собираете
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Мурена от 11-01-2019, 10:14:45
Какие могут быть шутки))) У нас 7ки стоят у единиц. Автокады 2008 в основном. Надо как то собрать, чтобы всё работало для любых версий от 2008 до 2016.
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Александр Пекшев aka Modis от 11-01-2019, 10:20:25
Надо как то собрать, чтобы всё работало для любых версий от 2008 до 2016
Тогда нужно делать несколько проектов. Думаю, двух должно хватить: 1 - до версии 2013, 2 - после версии 2013.
Код расположить в одном проекте. Во второй вставлять ссылки на файл. В обоих проекта в свойствах на вкладке "Сборка" в поле "Символы условной компиляции" вставить какие-то символы (например, A2008 и A2013), а в коде разницу, которая появляется из-за различных API, решать уже через символы условной компиляции.

А вообще - собирайте проект под 2008 автокад - вероятно он и под 2016 может заработать
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Мурена от 11-01-2019, 10:23:27
А вообще - собирайте проект под 2008 автокад
Ну так поэтому и устанавливала целевую платформу -.NET 4.0. Но увы...
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Александр Пекшев aka Modis от 11-01-2019, 10:29:40
А вообще - собирайте проект под 2008 автокад
Ну так поэтому и устанавливала целевую платформу -.NET 4.0. Но увы...
Что "ну увы..."? Вы установили целевую платформу 4.0, а библиотеки подключаете от 2016 автокада! Удалите их и подключите от 2008 автокада
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Привалов Дмитрий от 11-01-2019, 11:03:21
О божечки - ХР! Да вы шутите?! Даже 7-ку уже прикрыли
Сам сейчас на XP и AutoCAD2010. Что купили, на том и работаем. )))
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Мурена от 11-01-2019, 11:34:44
В итоге выдернула библиотеки с Acad2008, добавила их в рефенерсы, собралось под .NET 4.0 на моём компе, но Acad2008 (.NET 4.0 установлен) плагин не грузит. Чего то где-то я упускаю
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Александр Пекшев aka Modis от 11-01-2019, 11:46:44
В итоге выдернула библиотеки с Acad2008, добавила их в рефенерсы, собралось под .NET 4.0 на моём компе, но Acad2008 (.NET 4.0 установлен) плагин не грузит. Чего то где-то я упускаю
Потому-что 2008 автокад работает с версией 2.0
Название: Re: VS2017 не находит классы Autodesk, CommandMethodAttribute и т.д.
Отправлено: Мурена от 11-01-2019, 11:47:48
Потому-что 2008 автокад работает с версией 2.0
Беда...
Да, при переходе на .NET 2.0 заработало