VB .Net 2005 に Web サービス ソリューションがあり、エラーが発生し始めました。次のようなインターフェイスを提供します。
Public Interface IBatchTrackerService
Function InsertBatchTracker(ByVal BatchTrackerObject As BatchTracker, ByRef errorNum As Integer, ByRef errorMsg As String) As Integer
End Interface
このクラスでは、このインターフェイスを次のコードで実装します。
Public Class BatchTrackerService
Implements IBatchTrackerService
Public Function InsertBatchTracker(ByVal BatchTrackerObject As BusinessObjects.BatchTracker, ByRef errorNum As Integer, ByRef errorMsg As String) As Integer Implements IBatchTrackerService.InsertBatchTracker
'Some code here'
End Function
End Class
このコードは正常に機能していましたが、現在エラーが発生し始めています。受け取るエラーは次のとおりです。
Class 'BatchTrackerService' must implement 'Function InsertBatchTracker(BatchTrackerObject As BusinessObjects.BatchTracker, ByRef errorNum As Integer, ByRef errorMsg As String) As Integer' for interface 'IBatchTrackerService'.
奇妙なことに、プロジェクトは正しくコンパイルされますが、コンパイルの終了後にこれらのエラーの多くが表示されます。
最近、ウイルス対策として Panda をインストールしたため、ここで解決策を見つけた別のエラーが発生しました。
どんな助けでも大歓迎です。
ありがとうございました。
2009 年 4 月 21 日 11:50 更新
インターフェースと実装の両方が、ソリューション内の同じプロジェクト内にあります。
2009 年 4 月 22 日 08:16 更新 BatchTracker
タイプの前にある BusinessObjects 識別子を削除しようとしましたが、それでも同じ結果が得られます。これは、ソリューション全体で起こったことの一例にすぎません。この BatchTrackerService のすべての実装はエラーとしてフラグが立てられます。さらに、ほぼすべての実装にエラーとしてフラグが立てられた他のサービスがいくつかあります。しかし、どういうわけかプロジェクトは正常にビルドされ、はい、正しく実行されます!
BusinessObjects に関しては、パラメーターとして使用する多くのクラスが含まれており、このソリューション内の別のプロジェクトにすぎません。これらのクラスを BusinessObjects に提供するために外部アセンブリを参照することはありません。
2009 年 4 月 22 日 08:24 更新
最後に気付いたのは、'BusinessObjects' クラスをパラメータとして使用せず、単に文字列や整数などを使用する関数/プロシージャにはエラーとしてフラグが立てられないことです。
2009 年 4 月 22 日 09:50 更新
以前のバージョンに戻そうとしたところ、コンパイルでき、エラー カウントはゼロのままでした。BusinessObjects への参照がわずかに変更されたプロジェクト ファイルの 1 つのチェックインに絞り込みました。このプロジェクト ファイルだけを元に戻し、すべてが正常にコンパイルされるようになりました。私を正しい方向に導いてくれたみんなに感謝します。