У нас есть несколько проектов TFS в одной коллекции.
В каждом проекте TFS есть несколько решений Visual Studio, где каждый файл sln находится в отдельной папке.
Каждый проект TFS имеет файлы StyleCop.settings для конкретного проекта в корне проекта TFS.
Однако, когда мы создаем сборку для каждого решения, сборка получает только папку, содержащую решение (согласно рекомендациям Microsoft, для повышения производительности сборки). Поэтому мы пропускаем файл StyleCop.settings в корне проекта TFS.
Поэтому мой вопрос:
Как я могу применить файл настроек к построению решения и соответствовать следующим критериям
- Все файлы StyleCop.settings должны храниться в системе управления версиями.
- Количество файлов StyleCop.settings должно быть минимальным (в идеале не более 1 на проект TFS).
- При сборке из TFS следует загружать только папку решения.
- Машину сборки и машины разработчика не нужно модифицировать с помощью переменных среды или чего-то подобного.
- Каждое решение состоит из нескольких проектов VS (т. е. нескольких файлов *.csproj).
Приложение 1. Структура папок
Для справки/ясности, вот пример структуры папок, которую я описал выше. Сборка TFS извлекает только папку Application1 или Application2 (в зависимости от того, какое приложение она создает).
C:\Source\
TfsProject1\
stylecop.settings
Application1\
Application1.sln
Application2\
Application2.sln
Приложение 2. StyleCop NuGet
Просто отметим, что мы используем пакет NuGet StyleCop.MsBuild для интеграции StyleCop в TFS. он не устанавливается непосредственно на каждую машину, поэтому любое решение, основанное на нем, отсутствует :)