У меня есть проект библиотеки, в котором есть некоторые файлы содержимого (например, файлы XML и схемы, файлы изображений и т. Д.), Все с действием сборки, установленным на Content (всегда копировать).
Этот проект библиотеки находится в решении Visual Studio, в котором также есть тестовое приложение (WPF), которое ссылается на библиотеку.
Когда я создаю решение, все файлы содержимого из проекта зависимой библиотеки копируются в папку bin моего тестового приложения. (Они также копируются в папку bin проекта библиотеки.)
Сегодня я передал сборочную dll, сгенерированную моим библиотечным проектом, другому программисту для справки. Однако мне даже в голову не пришло, что этого недостаточно. Мне также нужно было передать ему файлы с контентом. Я так и сделал, и он добавил их в свой проект.
Это решение работает, но мне оно неудобно. Мне не нравится, что файлы содержимого смешиваются с файлами его проекта. Это увеличивает вероятность того, что они могут быть случайно изменены или удалены.
Итак, я надеюсь, что смогу получить совет о том, как делиться библиотеками с другими программистами, когда задействованы файлы содержимого.
Примечание. Дело не в том, что я пытаюсь скрыть файлы содержимого (на самом деле важно, чтобы программисты, ссылающиеся на эту библиотеку, имели к ним доступ), но я хотел бы, чтобы они оставались отдельными от ссылающегося проекта, но при этом должным образом копировались в папку bin. когда их проект скомпилирован. Я предполагаю, что я говорю, что хочу, чтобы в их решении был проект библиотеки, а не файлы кода и файлы xaml.
Спасибо.
РЕДАКТИРОВАТЬ:
Мне пришла в голову идея, что я могу скопировать только структуру папок и файлы содержимого из моего проекта библиотеки в новый проект библиотеки классов. Затем любой, кто ссылается на мой проект библиотеки, может добавить эту минимальную библиотеку классов в свое решение. Им все равно придется ссылаться на dll как на отдельный шаг, но это определенно лучше, чем текущее решение. Возможно, я мог бы даже написать событие после сборки, которое автоматически копирует все файлы содержимого из моего проекта библиотеки в минимальную библиотеку классов. (Теперь мне просто нужно исследовать, как на самом деле написать событие сборки :)). Комментарии приветствуются.
ИЗМЕНИТЬ 2:
Я построил свое первоначальное редактирование, чтобы придумать решение, которым, как мне кажется, буду доволен. Смотрите мой ответ ниже.