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