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

ADN Club => AutoCAD .NET API => Тема начата: Olchik от 04-09-2015, 02:52:47

Название: Можно ли скопировать блоки из файла dwg добавленного в Resouces моей dllки
Отправлено: Olchik от 04-09-2015, 02:52:47
Добрый день,

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

Когда делаю так:
Код - C# [Выбрать]
  1. OpenDb.ReadDwgFile("ResourceFile", System.IO.FileShare.Read, true, "");
ругается что не видит dwg файла. В чем моя ошибка?
Название: Re: Можно ли скопировать блоки из файла dwg добавленного в Resouces моей dllки
Отправлено: Дима_ от 04-09-2015, 08:34:24
В том, что такого файла нет - его нужно вначале записать куда-либо или просто переносить рядом с dll(как узнать путь к dll - гугли).
Название: Re: Можно ли скопировать блоки из файла dwg добавленного в Resouces моей dllки
Отправлено: Olchik от 04-09-2015, 12:25:59
Да действительно проблема была с путем, как-то я бездумно махнула шашкой) Файл этот записан в корневом каталоге вместе с моей dll.
Прочитала, путь dll советуют определять как
Код - C# [Выбрать]
  1. System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Имя файла")
Но таким образом AppDomain.CurrentDomain.BaseDirectory указывает на корневой каталог Autocad, подскажите пожалуйста как мне найти путь именно каталога dll.
Название: Re: Можно ли скопировать блоки из файла dwg добавленного в Resouces моей dllки
Отправлено: Olchik от 04-09-2015, 12:32:37
Определила таким образом, вроде все сработало :) System.IO.Directory.GetCurrentDirectory()

Спасибо за помощь ;)
Название: Re: Можно ли скопировать блоки из файла dwg добавленного в Resouces моей dllки
Отправлено: Андрей Бушман от 04-09-2015, 12:32:43
Код - C# [Выбрать]
  1. String currentDllLocation = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Название: Re: Можно ли скопировать блоки из файла dwg добавленного в Resouces моей dllки
Отправлено: Андрей Бушман от 04-09-2015, 12:34:38
Определила таким образом, вроде все сработало  System.IO.Directory.GetCurrentDirectory()
Это не то, т.к. этим способом ты получаешь рабочий каталог. Читай справку (https://msdn.microsoft.com/ru-ru/library/system.io.directory.getcurrentdirectory(v=vs.110).aspx). Рабочий каталог может быть изменён (рабочий каталог и каталог размещения твоей DLL - это не одно и то же).
Название: Re: Можно ли скопировать блоки из файла dwg добавленного в Resouces моей dllки
Отправлено: Olchik от 04-09-2015, 12:37:32
Да я это уже поняла, когда сама изменила. Дима_, Андрей Бушман, большое спасибо :)