我们在 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 的引用略有更改的项目文件之一。我只恢复了这个项目文件,现在一切都编译好了。感谢大家带领我朝着正确的方向前进。