Вот моя проблема. У меня есть определенные файлы из решения (скажем, Web.config), которые я изменил и никогда не захочу зарегистрироваться, поскольку изменения относятся только к моей машине. Есть ли способ сказать в TFS игнорировать изменения в определенном файле и удалить его из окна ожидающих изменений. Конечно, я могу пропустить этот файл в каждой регистрации, но всегда есть возможность забыть и зарегистрировать ошибку по ошибке. Например, в AnkhSVN есть аналогичный список игнорирования.Игнорировать определенный файл из ожидающих изменений
ответ
Некоторые части файлов {app,web}.config
могут быть делегированы другим файлом. Примечательно <connectionStrings>
.
В вашем app.config
или web.config
:
<connectionStrings configSource="LocalConnectionStrings.config" />
в LocalConnectionStrings.config
есть (<connectionStrings>
корневой элемент):
<connectionStrings>
<!-- For the application's operations. -->
<add name="Application"
connectionString="Data Source=server;Initial Catalog=database;Integrated Security=True;Network Library=dbmssocn"
providerName="System.Data.SqlClient" />
</connectionStrings>
Таким образом, каждый разработчик имеет LocalConnectionStrings.config
, который находится в проекте, но не в источник управления с их частными настройками, а {web,app}.config
имеет общие настройки. К сожалению, это работает только с ограниченным набором системных элементов конфигурации.
Нечего игнорировать, но лучше всего, после регистрации, вы можете использовать веб-логин или другую машину, на которой вы не сопоставили дерево исходного кода, и вы можете удалить ненужные файлы из исходного кода дерево и визуальная студия не будут проверять эти файлы при следующем изменении.
Вы также можете поместить файл в папку и изменить файл проекта в редакторе xml, чтобы включить его в свой проект, визуальная студия не добавит файлы в исходный код, который был добавлен вручную, отредактировав xml файла проекта.
Я рассмотрел этот вариант тоже, но этот файл должен быть в системе управления версиями , Невозможно исключить его, потому что это нарушит некоторые другие функции. – anthares
Для нашей работы в VS 2005/2008 мы включили несколько проверок, и мы просто никогда не проверяем файл web.config.
Для того, чтобы попытаться сделать что-то фанки, чтобы не что-то проверить, мы просто не проверяем его. В нечетном случае, когда один из этих файлов проверен, ну, это быстро: «Эй, ребята, я испортил ».
С другой стороны, вы можете указать TFS исключить файл из исходного элемента управления. Это будет необходимо на всех компьютерах, потому что решения/проекты все равно будут искать этот файл.
http://arcware.net/2007/04/12/how-to-exclude-files-from-tfs-source-control/
Вы также можете изменить файл .sln/проекта. Я сделал этот метод с тестирующими проектами, где я не хочу, чтобы исправить тесты других людей, чтобы запустить мой собственный, поэтому я удалил свой тестовый проект из TFS, оставив других без изменений.
Как я уже сказал, «Эй, ребята, я прищурился» мне не подходит (если быть точным - я делаю это так прямо сейчас, но я ищу более удобный способ). Исключение файла из исходного элемента управления также не является вариантом. – anthares
Ссылка умерла. Не в архиве. Ужасно [автор говорит] (http://arcware.net/reboot/), «Это может удивить некоторых людей, но весь мой предыдущий контент ушел. Все, что я написал раньше, все десятилетие 2004 - 2014 , больше не доступен. Нет сообщений, комментариев нет. * «Кто говорит, что общественный контент в Интернете не может умереть? ; ^) – ruffin
В какой версии студии вы используете?
Если вы находитесь в 2010 году, то вы можете использовать преобразования веб-конфигурации. Таким образом, вы можете иметь разные файлы web.config в зависимости от среды. Например, разработка, тестирование, производство.
Если вы в 2008 году, у нас обычно был основной файл web.config, указывающий на наш материал для разработки и файл web.production.config, указывающий на производство. Во время развертывания мы удаляем web.config и переименовываем web.production.config.
Я использую 2010, но изменения зависят от конкретной машины, а не от конкретной среды. Например, для среды разработки dev web.config отличается для всех моих коллег. – anthares
@anthares: Я предполагаю, что каждый из вас запускает собственный локальный сервер sql? Вы могли бы построить идею трансформации и просто добавить конфигурацию для каждого разработчика. Или просто работать с теми же настройками. Лично, столкнувшись с проблемами в обоих типах сред, я предпочитаю общий подход к SQL-серверу ... Кажется, это не проблема. – NotMe
Лучшая практика в отношении файлов конфигурации, TFS и различные машины для проявителя (кромка кромка) ...
Все ваши разработчики должны иметь ту же среду разработки. Это единственный способ управлять web.config файлы в TFS, и он имеет много дополнительных преимуществ:
NOMORE «но это работает на моем компьютере»
своего друга страшный «Я доном «Не понимаю, какие зависимости требуются, он больше не компилируется».
Вы не пожалеете знаменитого «Ах! Я забыл сказать вам, я изобрел MyWonderfullApplicationConfigSection, и вы должны определить его в своем web.config, но я не буду рассказывать вам, как это сделать."
Это действительно поможет создание среды сборки или развертывания.
Хорошо, это не очень легко, я знаю, что разные разработчики, как различные настройки ... но это хорошо идея стандартизации Dev платформы это действительно стоит
-1 Плохая идея. Что делать, если у вас есть многоуровневая архитектура, которая использует веб-конфигурацию для определения конечных точек wsdl? как насчет сообщений об ошибках? как насчет разработчиков не нравится компиляция пакета? Во многих ситуациях стандартизация веб-конфигурации dev невозможна. –
Я сказал, что это не всегда легко реализовать. Однако следует отметить, что если у вас стандартизованная платформа dev, конечные точки wsdl больше не являются проблемой (они становятся стандартизованными). И если они не ... у вас будут проблемы. Я не вижу сообщений об ошибках на платформе разработчика. Включите их только при производстве. Если разные разработчики нуждаются в различной конфигурации компиляции, все в порядке: для этого существуют конфигурации компиляции. Остерегайтесь, однако, незаметных изменений зависимостей от других разработчиков. – Eilistraee
Хотя это правда, мы можем спорить обо всех этих моментах, они не делают, могут ответить менее уместным ... Стандартизация платформы веб-разработки имеет много преимуществ. И это может пойти на использование обычного регулярно обновляемого VHD – Eilistraee
Один из способов может быть, чтобы удалить атрибут только для чтения на web.config в проводнике Windows затем отредактировать его в блокноте:..
- Это не будет появляться в ожидании изменения
- Это все еще в источнике управления
Гадкий но простое решение.
Вы можете редактировать в VS без проверки, если вы выберите «Разрешить редактирование ...» в меню «Инструменты» | Варианты | Общий | Документы. – Richard
+1 Я закончил это. Работает хорошо. –
Обратите внимание, что этот трюк НЕ работает с «Локальными рабочими пространствами» в TFS 2012+. –
Вы можете сделать копию файлов, которые вы не хотите регистрировать, отменить их проверку и заменить их копией. Поскольку изменение было сделано из внешнего VS, оно не будет проверено, поэтому оно не будет в списке ожидающих изменений.
(я знаю, что это старый вопрос, но я уверен, что кто ищет способ, чтобы сделать это могли бы использовать этот ответ)
Это похоже на приемлемое обходное решение. Благодарю. – anthares