Проблемы с игнорированием пользовательских незначительных различий в Beyond Compare 3

Быстрая преамбула

Прежде чем вы отметите это как дубликат этого вопроса, я пробую это самое решение, и у меня все еще есть проблемы.

Вопрос

Я пытаюсь сравнить файлы между двумя папками веб-сайта ASP.Net с помощью Beyond Compare v3.3. В одной папке определены все файлы.ascx.cs, а в другой наследуется код от библиотеки DLL.

Так что на левой стороне, файлы.ascx имеют

<%@ Control Language="c#" Inherits="MyControl" CodeFile="MyControl.ascx.cs" %>

и на правой стороне, они имеют

<%@ Control Language="c#" Inherits="MyControl, MyAssembly" %>

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

При быстром поиске в Google возникает вопрос Stackru и эта страница поддержки, которые в основном говорят одно и то же.

Я следовал их указаниям, но он все еще не работает.

Вот что я сделал:

  1. Начался новый сеанс сравнения папок.
  2. Открыл файл.ascx.
  3. Нажмите кнопку "Правила", чтобы открыть диалоговое окно "Настройки сеанса".
  4. На вкладке "Важность" нажмите кнопку "Изменить грамматику".
  5. Нажал кнопку "Новый...".
  6. Установите "Имя элемента" на "CodeFile", "Соответствие текста" на

    (Inherits|CodeFile)\s*=\s*(["'])[^'"]+\2

    поставил флажок "Регулярное выражение", снял флажок "Этот элемент чувствителен к регистру" и нажал кнопку "ОК".

    Диалоговое окно New Grammar Item

  7. Нажал кнопку ОК.
  8. (Теперь вернемся на вкладку "Важность"). Снимите флажок "CodeFile".
  9. В раскрывающемся списке выберите "Обновить настройки сеанса" и нажмите кнопку "ОК".Диалог настроек сеанса

Просто чтобы дважды проверить правильность моего регулярного выражения, я запустил Ctrl+F для двух файлов.ascx, используя регулярное выражение. Он нашел все три экземпляра правильно (Inherits="..." в левом файле и Inherits="..." и CodeFile="..." справа).

Даже при сравнении файлов (в отличие от сравнения папок) различия не помечаются как несущественные. Эти конкретные строки имеют различия в случае, и это правильно помечает их как неважные, но CodeFile а также Inherits это все еще жалуется.

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

Ошибка сравнения

Есть идеи?

1 ответ

У меня были проблемы с игнорированием строк с sp_updateextendedproperty или sp_addextendedproperty для файлов SQL. Душа, которую я нашел, состояла в том, чтобы убедиться, что регулярное выражение действительно соответствует всей строке, а не только ее части. Изначально я использовал: EXEC sp_ (update | add) extendedproperty

Чтобы решить проблему соответствия, я изменил ее на:. * EXEC sp_ (update | add) extendedproperty. *

Это включает в себя любые добавленные или добавленные символы

Другие вопросы по тегам