Папка с решениями Visual Studio на уровне проекта

Можно ли в Visual Studio (2010) создать «Папку решений» на уровне проекта?
«Виртуальная» папка проекта в Visual Studio?

Проблема:

В нашем решении есть проект, который содержит все наши файлы ресурсов культуры. Мы используем один файл ресурсов для бизнес-целей, т. Е. У нас есть несколько файлов ресурсов, представляющих каждую культуру.

Поскольку файлы ресурсов для разных культур должны храниться в одном и том же месте (пути), в результате получается проект, содержащий много файлов ресурсов на корневом уровне. Это хорошо для времени, но, поскольку мы добавляем поддержку для разных культур, количество файлов ресурсов вырастет до неуправляемого числа

Итак, чтобы лучше организовать наш проект, мы хотели бы создать «виртуальную» папку на уровне проекта, где мы можем создать одну папку для каждой культуры. Это возможно?

Есть мысли?

7 голосов | спросил paligap 28 +04002011-10-28T01:54:37+04:00312011bEurope/MoscowFri, 28 Oct 2011 01:54:37 +0400 2011, 01:54:37

1 ответ


0

Я уверен, что ты не можешь. Для VS это всегда было странным нюансом: папки в решениях являются виртуальными, а папки Project - нет. В любом случае мне не нравятся виртуальные папки, потому что вы можете столкнуться со странными нюансами, потому что ваше физическое перемещение файлов не синхронизируется со структурой в виртуальных папках. Вызвала у меня головные боли. Мне всегда хотелось, чтобы на уровне решения существовали физические папки для совместного использования проектов.

Шаг 1) Если все они должны находиться в одной физической папке, для начала я переместил бы их в подпапку ресурсов проекта. Я очень мало держу в корне своих проектов. Даже исходный код помещается в папку «src». Оставляя в корне только такие вещи, как файлы * .config.

Шаг 2) Создайте несколько виртуальных папок по мере необходимости на уровне решения, куда вы перетаскиваете файлы из проекта в соответствующую виртуальную папку решения. Файл будет по-прежнему физически существовать и показываться в папках «Ресурсы» в проекте, но для более удобного просмотра файлов они будут существовать в виртуальных папках, которые просто ссылаются на исходный файл.

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

Но, как я уже упоминал, если вы добавляете новые файлы ресурсов в свой проект, вам всегда нужно будет выполнить этот дополнительный шаг «категоризации» их, перетащив их в папку виртуального решения. Это одна из тех вещей, которая может быть не синхронизирована, потому что вы забудете об этом, если вы потратите несколько недель, не касаясь этого проекта.

Лучшим решением может быть использование какого-то пользовательского шага сборки, возможно, с nant или msbuild, который берет ресурсы, хранящиеся в разделенных на физическом уровне папках ресурсов, и копирует их в одну папку ресурсов перед сборкой. Таким образом, вы создаете ресурсы в каждой подпапке, и шаг сборки автоматически копирует их в одну целевую папку.

ответил AaronLS 28 +04002011-10-28T02:10:24+04:00312011bEurope/MoscowFri, 28 Oct 2011 02:10:24 +0400 2011, 02:10:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132