2009-04-16 42 views
0

VB6プロジェクトをVB.NETに変換し、 "UPGRADE_WARNING:デフォルトを解決できませんでしたオブジェクトvarJonSkeetのプロパティ "を削除したいと思います。 Visual Studio 2008でこれを行う方法はありますか? regexで警告メッセージを削除する方が簡単でしょうか?一度に1つのファイルを削除することをお勧めしますが、それはデベロッパーではありません。vb6プロジェクトをVB.NETに変換した後で簡単に警告メッセージを削除する方法

答えて

1

自分のコードからインラインコメントを削除したいと言っていると思います。

最速の方法は、ファイル内でUPGRADE_WARNING:を検索し、手動で削除することです。あなたのソースディレクトリ内の各は.vbファイルを反復処理し、StreamReaderをを使用してそれらを読んで、次に同じファイルを一度に1行をそれらを書き込むための新しい.NETプログラムを作成することができ

あるいは、

UPGRADE_WARNING:を含む行は省略します。

もしあなたがもう少しvb.netコーディングを行った方がはるかに良い方法になるでしょう。


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

     Dim FileName As String = "c:\form1.vb" 
     Dim SourceFile As System.IO.FileInfo = New FileInfo(FileName) 
     Dim SourceTextStream As System.IO.TextReader = SourceFile.OpenText() 

     Dim SourceFileContent() As String = Split(SourceTextStream.ReadToEnd(), vbCrLf) 
     SourceTextStream.Close() 

     Dim CurrentSourceLine As String 
     Dim CurrentSourceLineNumber As Long 

     Dim DestStream As StreamWriter = New StreamWriter(FileName) 
     Dim LogStream As StreamWriter = New StreamWriter(FileName + ".log") 

     For Each CurrentSourceLine In SourceFileContent 
      CurrentSourceLineNumber += 1 
      If InStr(CurrentSourceLine, "UPGRADE_WARNING") = 0 Then 
       DestStream.WriteLine(CurrentSourceLine) 
      Else 
       ' Write to Log File 
       LogStream.WriteLine("Line Skipped at number: " + CurrentSourceLineNumber.ToString()) 
      End If 
     Next 

     DestStream.Close() 
     LogStream.Close() 




    End Sub 
+0

私は、あまりにも複雑な解決策を探していたと思います。ワイルドカードを使った検索はうまくいった。置き換えを行うときに、行を空白行に置き換えるのではなく削除する方法がありますか? –

0

VB.NETでプロジェクトを書き換えます。警告を取り除くことは、(私が推測している)目標に到達するための手段に過ぎません。

2

警告を取り除く最良の方法は、警告で不平を言う疑いのあるコードに対処することです。つまり、コードが警告に値するものではなくなるようにコードを変更します。警告の生成を完全に無効にしようとしないでください。

あなたが懸念している特定の警告とそれに付随するコードについて詳しく説明する必要があります。しかし、ここで先に答えを検索することを忘れないでください。私は、コンパイラの出力に発行されたメッセージ、警告が実際にあなたのコード内で文字通りテキストされているわけではない参照


。それらを取り除く方法は、キーワード(UPGRADE_WARNING、私は推測します)を検索し、警告された問題が対処されているか、または依然として有効な懸案事項かどうかを検討し、問題があれば修正し、その警告行を削除してください。たとえば、varJonSkeetにはがデフォルトのプロパティを持ちますか?そうでない場合は、それが必要ですか?代わりにデフォルト以外のプロパティを使用する必要がありますか? (あなたは実際にテキストの行を削除する方法を本当に尋ねていませんか?)

ファイル全体をすでに見て、警告が有効ではないと判断した場合、すべてを削除する簡単な方法があります警告線。

 
grep -v UPGRADE_WARNING input_file.vb > output_file.vb 
ren output_file.vb input_file.vb 

システムにgrepがまだない場合は、完全な開発環境がまだありません。 Go get a copy.-vオプションを指定すると、検索結果が反転され、にないすべての行が検索パターンを含むに出力されます。それらは新しいファイルに書き込まれます。次に、古いファイルを新しいファイルで置き換えます。

+0

私は私の質問を明確にしました。もともと警告の原因を修正していますが、コードから追加されたコメントは削除されません。 –

5

迅速かつ簡単な修正VS 2008を使用している場合、検索を使用して置き換え:

  • は、検索オプション
  • クリックして '使用' を開き、その後、 'ワイルドカード'
  • 選択「何を見つけてください」で「アップグレード警告*」を入力し、「置き換え」の空白を残してください
  • 「すべて置換」をクリックしてください
0

上記のVS 2008の方法は、VS 2010以降では機能しません。 VS 2010のための 以降は...警告をアップグレード削除するには次の手順を実行し

  1. CTRL + F
  2. 「検索...」ドロップダウンを展開し、「ファイル内の検索...」を選択します。
  3. [ファイルで置換]タブを選択します。 。[^ \のSの\ r \ n] 'UPGRADE_WARNING:
  4. は何を探す?* \ rを\ nは
  5. はと交換してください:BLANK
  6. は、 "オプションを探す" を展開します。
  7. 「正規表現を使用する」にチェックを入れます。
  8. 検索の開始/すべての置換/置き換え。

を説明:正規表現、[^ \のSします\ r \ n]を使用すると、明らかに、その後、行の先頭に「UPGRADE_WARNINGを空白を無視するように正規表現を伝えます:た警告コメントの始まりです* \ r?\ nまで他のすべてを無視するようにregexに指示します。\ nは、行末にマッチするようにregexに指示します(この部分がないと、各警告があったはずの空白行)。

関連する問題