【发布时间】:2015-03-03 15:01:12
【问题描述】:
快速序言
在您将其标记为 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 question 和 this support page,它们的含义基本相同。
我已按照他们的指示进行操作,但仍然无法正常工作。
这是我所做的:
- 开始新的文件夹比较会话。
- 打开了一个 .ascx 文件。
- 单击“规则”按钮打开“会话设置”对话框。
- 在“重要性”选项卡上,单击“编辑语法”按钮。
- 单击“新建...”按钮。
-
将“元素名称”设置为“代码文件”,将“文本匹配”设置为
(Inherits|CodeFile)\s*=\s*(["'])[^'"]+\2选中“正则表达式”复选框,取消选中“此元素区分大小写”复选框,然后单击“确定”按钮。
- 单击“确定”按钮。
- (现在回到重要性选项卡)取消选中新创建的“代码文件”复选框。
- 在下拉列表中,选择“更新会话默认值”,然后单击确定。
为了仔细检查我的正则表达式是否正确,我使用正则表达式对两个 .ascx 文件运行了 ctrl+F。它正确地找到了所有三个实例(Inherits="..." 在左侧文件中,Inherits="..." 和 CodeFile=".. ." 右侧)。
即使在文件比较(与文件夹比较相反)上,也不会将差异标记为不重要。这些特定的行在大小写上有所不同,它正确地将它们标记为不重要,但它仍然在抱怨 CodeFile 和 Inherits。
我认为可能是因为一方有两个不同,而另一方有一个,所以我在一个文件上添加了注释,据我了解,该文件与我的新文件具有完全相同的规则类型。 BC3 也正确地忽略了评论。
有什么想法吗?
【问题讨论】:
标签: beyondcompare3