Designer がコード行を処理できないという VB.NET 2005 の問題
-
01-07-2019 - |
質問
私のプロジェクトでは、誰もが知っているように自動生成されている .designer に問題があり、まったく変更していません。ある日、私は順調に働いていましたが、バックアップを実行し、次の日にはドーンとしました。プロジェクトが突然動作を停止し、デザイナーがコード行を続行できないというメッセージが送信されます...このため、さらに多くのエラー(私の場合は2つ)が発生し、正常に動作していた日のバックアップさえ持っていましたが、役に立ちませんでした。同じエラーが発生し、ラップトップで試しましたが、同じ問題が発生しました。「FitTrack」を削除するにはどうすればよいですか?信じられないのは、ラップトップを試している間にデスクトップ上のエラーが目の前で消え、1秒後にはもう一つのエラーが消えたことです(それでもデザイナーからの警告が表示され、フォームが表示されません)。何度も閉じたり開いたりするとエラーが発生します...
エラーは次のとおりです。
警告 1 設計者は 27 行目のコードを処理できません。
Me.CrystalReportViewer1.ReportSource = Me.CrystalReport11
メソッド「InitializeComponent」内のコードはデザイナーによって生成されるため、手動で変更しないでください。変更を削除して、デザイナーを再度開いてみてください。C:\Documents and Settings\Alan Cardero\Desktop eportes Liquidacion eportes Liquidacion eportes Liquidacion\Form1.Designer.vb 28 0
解決
それに関連付けられているdesigner.csファイルをバックアップし(デスクトップにコピーするなど)、designer.csファイルを編集して問題のある行を削除し(その内容を追跡し続けます)、それらをやり直します。そのフォームのデザインモードを介して線を作成します。
他のヒント
デザイナーでリソース CrystalReport11 への静的割り当てを取り出してから、ロード ハンドラーをフォームに追加し、ReportSource を CrystalReport11 に戻す前にチェックを行います。
If(Not DesignMode) Then Me.CrystalReportViewer1.ReportSource = Me.CrystalReport11
こちらがモックアップです。
Public Sub New()
InitializeComponent()
AddHandler Me.Load, New EventHandler(AddressOf Form1_Load)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
If (Not DesignMode) Then Me.CrystalReportViewer1.ReportSource = Me.CrystalReport11
End Sub
バックアップを作成し、問題のある行をクリアすると、再度開くとデザイナーがコードを修正します。
重要なのは、デザイナーに再生成させてから、必要な行がすべてそこにあることを検証するだけであるということです。
通常はこれでうまくいきますが、気に入らない行は必ずすべて削除する必要があります。
私は簡単な方法をやります。レポートを右クリックし、「カスタム ツールの実行」を選択します。
すべての問題が自動的に修正され、私にとってはうまくいき、52 個の Crystal ReportViewer エラーが解決されました。