2015-12-08 3 views
0

У меня есть файл в библиотеке классов.Скопировать файл в решение

Мне нужно ссылаться на него из библиотеки классов через utils lib. Если я делаю это "~/myfile.xsd», файл не найден, как он ищет ссылки в корневом каталоге раствора

Насколько я могу видеть, у меня есть 2 варианта:.

  1. Скопируйте его к решению корень
  2. Измените путь для ссылки на текущую сборку

на данный момент, я попробовал все перестановки сборки действий, чтобы попытаться получить файл для копирования - единственные вещи, которые работали физически копирование file ocross к корню.

Однако файл не обязательно должен находиться в корневом каталоге решений, поэтому, полагаю, ссылка на него в сборке в настоящее время будет лучшим выбором, но как я могу это сделать?

+0

Можете ли вы немного пояснить? Вам нужно xsd во время выполнения, но у вас есть только его решение в корне? Снимок экрана или представление структуры вашего проекта, а также некоторые примеры того, как вы его используете, могут помочь. –

+0

У меня есть библиотека классов, в которой используется xml-файл, и я также хочу использовать xsd (полностью в библиотеке классов). XML-файл с другой стороны уникален в решении, поэтому я помещаю его в корневой каталог. Функция внутри библиотеки классов десериализует xml, используя xsd, поэтому она не должна находиться вне класса. –

+1

В этом случае я бы вложил его в качестве ресурса и вытащил его из MemoryStream с помощью ResourceManager.GetManifestResourceStream, а затем загрузил его в ваш XML-сериализатор. Не требуется копирование. –

ответ

0

У вас есть 2 варианта. Преобразуйте файл в ресурс, как прокомментировал Стив Митчам, или выберите файл в проводнике решений, в изменении сетки свойств BuildAction - None и Copy to output directory - Copy if newer или Copy always. Второй вариант заставит Visual Studio поместить файл в каталог bin вместе с вашим exe при его компиляции.

Смежные вопросы