autocad видит команды только наполовину

Автор Тема: autocad видит команды только наполовину  (Прочитано 4495 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Здравствуйте!
Прошу помощи. Есть файл проекта *.csproj, в нем два класса *.cs, в первом я пишу команды для работы с линиями, во втором для работы с блоками. Cобираю библиотеку *.dll и загружаю в автокад, команды из первого класса видны внутри автокада, ни одна команда из второго не видна. В чем причина? Я не понимаю. Неужели нужно писать для автокада проекты только из одного класса?

Матчасть:
Autocad 2015, Visual Studio 2017 Ent.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Atomohod,
Приветствую на форуме!
В коде есть что-то типа такого:
Код - C# [Выбрать]
  1. [assembly: CommandClass(typeof(NameSpace.ClassName))]
?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Нет, такую директиву я не добавлял, но и без нее собиралось и работало без ошибок, в документации к API я ее не встречал как обязательную.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Причин может быть несколько. Проще всего будет если ты выложишь весь проект в архиве.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1

Выкладываю- файл не прикрепляется, пишет ошибку размера, хотя у меня меньше 10 мб в zip архиве.
Причин может быть несколько. Проще всего будет если ты выложишь весь проект в архиве.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Выкладываю- файл не прикрепляется, пишет ошибку размера, хотя у меня меньше 10 мб в zip архиве.
У тебя в архиве похоже куча мусора.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Какие конкретно файлы проекта нужно выложить *.cs, *.csproj, *.sln?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Проверь у себя:



Тестовый проект приложил.


Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Какие конкретно файлы проекта нужно выложить *.cs, *.csproj, *.sln?
Те, которых достаточно для компиляции проекта.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Почистил архив

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Проверь у себя:



Тестовый проект приложил.

проект собрал, запустил-команды видны.

Отмечено как Решение Александр Ривилис 08-05-2018, 00:42:59

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Первое, что увидел у тебя, это что класс PositionHandler не имеет атрибута public. Этого достаточно, чтобы AutoCAD его не видел.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
проект собрал, запустил-команды видны.
Что и требовалось доказать. Сделай у себя по образцу и подобию.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Спасибо, попробую переписать. Но вопрос все же остался- какие модификаторы доступа можно применять в автокаде? Считается, что public нарушает инкапсуляцию и вообще крайне не приветствуется в коде. Или я не так это понимаю?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Но вопрос все же остался- какие модификаторы доступа можно применять в автокаде?
Можно применять любые, но класс, содержащий командные методы, должен быть public. И методы, которые реализуют команды, тоже должны быть public.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение