在Beyond Compare 3中忽略了定制的不重要差异时遇到了麻烦

时间:2015-01-06 00:32:11

标签: beyondcompare3

快速序言

在你把它标记为this question的副本之前,我正在尝试这个解决方案而且我仍然遇到问题。

问题

我正在尝试使用Beyond Compare v3.3比较ASP.Net网站的两个文件夹之间的文件。一个文件夹定义了所有.ascx.cs文件,另一个文件夹从dll继承了代码。

所以在左侧,.ascx文件有

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

在右侧,他们有

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

如果这些是文件中的唯一差异,我希望通过忽略不重要差异功能将它们视为相等。

快速的Google搜索会出现this StackOverflow questionthis support page,这基本上是相同的。

我按照他们的指示行事,但仍然无法正常工作。

这就是我所做的:

  1. 开始新的文件夹比较会话。
  2. 打开.ascx文件。
  3. 单击“规则”按钮以打开“会话设置”对话框。
  4. 在“重要性”选项卡上,单击“编辑语法”按钮。
  5. 点击“新建...”按钮。
  6. 将“元素名称”设置为“CodeFile”,将“文本匹配”设置为

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

    选中“正则表达式”复选框,取消选中“此元素区分大小写”复选框,然后单击“确定”按钮。

    New Grammar Item dialog

  7. 点击“确定”按钮。
  8. (现在返回“重要性”选项卡)取消选中新制作的“CodeFile”复选框。
  9. 在下拉列表中,选择“更新会话默认值”,然后单击“确定”。 Session Settings dialog
  10. 只是仔细检查我的正则表达式是否正确,我使用正则表达式在两个.ascx文件上运行了ctrl + F.它找到了所有三个实例(左侧文件中的 Inherits =“...” Inherits =“...” CodeFile =“.. 。“在右边。)

    即使在文件比较上(与文件夹比较相反),它也不会将差异标记为不重要。这些特定的行在大小写上有所不同,并且正确地将它们标记为不重要,但CodeFileInherits它仍然在抱怨。

    我认为这可能是因为一方有两个差异而另一方有一方,所以我在一个文件上添加了评论,据我所知,它与我的新文件具有完全相同的规则类型。 BC3也正确地忽略了评论。

    Comparison fail

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我在使用sp_updateextendedproperty或sp_addextendedproperty忽略SQL文件的行时遇到问题。我发现的灵魂是确保正则表达式实际上匹配整条线而不仅仅是它的一部分。 最初我使用的是: EXEC sp_(update | add)extendedproperty

要解决匹配问题,我将其更改为:。* EXEC sp_(update | add)extendedproperty。*

然后包含任何前置或附加的字符