Игнорирование Web.Config из системы управления версиями без исключения из Project в VS 2008

У меня есть проект, над которым я работаю, и у меня есть команда, которая находится в двух разных местах. Мы используем систему управления версиями, которая интегрируется с VS 2008. Мы создали папку решения, в которой мы храним различные файлы web.config, чтобы разные места могли выбирать, какую конфигурацию они должны использовать для запуска проекта.

Я хотел бы иметь возможность, чтобы веб-проект, над которым мы работаем, имел файл web.config в проекте, но игнорировался системой управления версиями. Используемая нами система управления версиями - SourceGear, и она работает со своей конфигурацией по умолчанию, которая мне очень напоминает VSS. Я бы не хотел исключать файл web.config из проекта, но я не вижу другого пути без постоянной попытки системы управления версиями добавить файл обратно в репозиторий.

Как я могу игнорировать файл web.config применительно к моей системе управления версиями, не исключая этот файл из моего проекта целиком?


person Joseph    schedule 18.03.2009    source источник


Ответы (2)


Хотя мой ответ не относится к системе управления версиями, вы можете подумать о том, чтобы добавить настраиваемые разделы конфигурации в свой web.config и получить другую конфигурацию в зависимости от местоположения (сервера, на котором она развернута).

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

Вот статья о том, как это сделать. Да, это не совсем то, что вы просили, но может быть лучше, чем полагаться на систему управления версиями и использовать разные файлы конфигурации.

http://aspnet.4guysfromrolla.com/articles/032807-1.aspx

person user69889    schedule 18.03.2009
comment
Спасибо, ginzotech, это еще один вариант, который я мог бы использовать помимо права, исключая файл из моего проекта. Я бы подумал, что то, что я пытаюсь сделать, будет поддержано VS. Мне это не кажется диковинным запросом, но, возможно, так оно и есть. - person Joseph; 18.03.2009
comment
Это вовсе не диковинная просьба. Я сам боролся с этим некоторое время. Если у кого-то есть другая идея, это было бы здорово. Идея нестандартной конфигурации - это идея, которую я применил много лет назад в .net 1.1 как лучший вариант в этом случае. Удачи тебе! - person user69889; 18.03.2009

Изучите возможность маскировки в sourcegear. Единственным недостатком является то, что это настройка для конкретного пользователя, поэтому все в команде должны будут подчиняться.

person NotMe    schedule 18.03.2009
comment
Я просто заглянул в функцию маскировки и поправил меня, если я ошибаюсь, но это скроет только папку, которую я не хочу видеть. Это не мое намерение. Я бы хотел, чтобы файл web.config отображался в VS, но не отображался как дополнение к проекту, над которым я работаю. - person Joseph; 18.03.2009
comment
Если это проект веб-сайта, VS всегда будет автоматически помещать его в систему управления версиями; Вы ничего не можете с этим поделать. Ознакомьтесь с ответом ginzotech. - person NotMe; 18.03.2009