Можно ли скопировать блоки из файла dwg добавленного в Resouces моей dllки

Автор Тема: Можно ли скопировать блоки из файла dwg добавленного в Resouces моей dllки  (Прочитано 6502 раз)

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

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

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

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Добрый день,

подскажите можно ли при помощи ReadDwgFile прочитать блоки из файла dwg добавленного в Resouces моей dllки?

Когда делаю так:
Код - C# [Выбрать]
  1. OpenDb.ReadDwgFile("ResourceFile", System.IO.FileShare.Read, true, "");
ругается что не видит dwg файла. В чем моя ошибка?

Оффлайн Дима_

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
В том, что такого файла нет - его нужно вначале записать куда-либо или просто переносить рядом с dll(как узнать путь к dll - гугли).

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

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Да действительно проблема была с путем, как-то я бездумно махнула шашкой) Файл этот записан в корневом каталоге вместе с моей dll.
Прочитала, путь dll советуют определять как
Код - C# [Выбрать]
  1. System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Имя файла")
Но таким образом AppDomain.CurrentDomain.BaseDirectory указывает на корневой каталог Autocad, подскажите пожалуйста как мне найти путь именно каталога dll.

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

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Определила таким образом, вроде все сработало :) System.IO.Directory.GetCurrentDirectory()

Спасибо за помощь ;)

Отмечено как Решение Olchik 04-09-2015, 12:37:43

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Код - C# [Выбрать]
  1. String currentDllLocation = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Определила таким образом, вроде все сработало  System.IO.Directory.GetCurrentDirectory()
Это не то, т.к. этим способом ты получаешь рабочий каталог. Читай справку. Рабочий каталог может быть изменён (рабочий каталог и каталог размещения твоей DLL - это не одно и то же).

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

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Да я это уже поняла, когда сама изменила. Дима_, Андрей Бушман, большое спасибо :)