クイックプリアンブル
これをこの質問の複製としてマークする前に、私はこの解決策を試していますが、まだ問題があります。
質問
Beyond Compare v3.3 を使用して、ASP.Net Web サイトの 2 つのフォルダー間でファイルを比較しようとしています。1 つのフォルダーにはすべての .ascx.cs ファイルが定義されており、もう 1 つのフォルダーは dll からコード ビハインドを継承しています。
左側の .ascx ファイルには
<%@ Control Language="c#" Inherits="MyControl" CodeFile="MyControl.ascx.cs" %>
右側には、
<%@ Control Language="c#" Inherits="MyControl, MyAssembly" %>
それらがファイル内の唯一の違いである場合、重要でない違いを無視する機能を介してそれらが等しいと見なされるようにします。
Google で簡単に検索すると、この StackOverflow の質問とこのサポート ページが表示されますが、基本的に同じことを言っています。
彼らの指示に従いましたが、まだうまくいきません。
これが私がやったことです:
- 新しいフォルダー比較セッションを開始しました。
- .ascx ファイルを開きました。
- [ルール] ボタンをクリックして、[セッションの設定] ダイアログを開きます。
- [重要度] タブで、[文法の編集] ボタンをクリックします。
- 「新規...」ボタンをクリックしました。
「要素名」を「CodeFile」に、「テキストマッチング」を「
(Inherits|CodeFile)\s*=\s*(["'])[^'"]+\2
「正規表現」チェックボックスをオンにし、「この要素は大文字と小文字を区別します」チェックボックスをオフにして、[OK]ボタンをクリックしました。
- [OK] ボタンをクリックしました。
- ([重要度] タブに戻ります) 新しく作成された [CodeFile] チェックボックスのチェックを外しました。
- ドロップダウンで [Update Session Defaults] を選択し、[OK] をクリックします。
正規表現が正しいことを再確認するために、正規表現を使用して 2 つの .ascx ファイルで ctrl+F を実行しました。3 つのインスタンスすべてが正しく検出されました (左側のファイルでは Inherits="... "、右側のファイルではInherits="..."とCodeFile="..." )。
ファイル比較でも (フォルダー比較とは対照的に)、違いが重要でないとマークされていません。CodeFile
これらの特定の行には大文字と小文字の違いがあり、それらを重要でないと正しくマークしていますが、Inherits
まだ不平を言っています。
片方には 2 つの違いがあり、もう一方には 1 つの違いがあるためではないかと考えたので、1 つのファイルにコメントを追加しました。これは、私の理解では、新しいファイルとまったく同じタイプのルールを持っています。BC3 はコメントも正しく無視しました。
何か案は?