Поскольку мы обслуживаем одно и то же приложение для разных крупных клиентов, каждый из которых имеет свои собственные требования и некоторые функции, которые должны или не должны быть доступны, я намеревался разделить проект на:
- Основное приложение
- Базовая библиотека (включая управление клиентами)
- Иерархическая структура библиотек клиентов (одна для всей группы и по крайней мере одна для каждой конкретной компании в определенном месте, поскольку они могут иметьразличные требования)
- Единая конфигурация решения для каждого клиента, которая компилирует только проекты, требуемые для этого клиента, поэтому при замене я могу быть уверен, что компилирую и отлаживаю нужный
Теперь я установил путь вывода для этих пользовательских библиотек в каталог приложения (в каталоге с именем Модули ).Но Visual Studio на самом деле не поддерживает это:
- Когда я делаю изменения во время выполнения, которые требуют перезапуска, код становится отличным от PDB, поэтому я не могу отладить без явной перекомпиляции этой измененной библиотеки клиента
- Когда я компилирую решение, используя «build» вместо «rebuild», оно компилирует только библиотеки, на которые есть ссылки (не пользовательские модули, они загружаются во время выполнения), поэтому отсутствуют пользовательские модули
- Когда я ссылаюсь на некоторые пакеты NuGet в моих клиентских модулях, они не выводятся автоматически в целевой каталог, заканчивающийся FileNotFoundException s во время выполнения
Есть ли способ, которым я могу получить этоработать как положено?Это невероятно раздражает и убивает весь рабочий процесс, но я не вижу другого решения, чтобы отделить эти библиотеки.