奇怪的单声道编译错误

2022-09-03 16:17:19

我正在使用IKVM在我正在使用的Mono项目上获取SVNKit,我有一个从SVNKit实现接口的类,我无法编译:

在Windows和.NET上,一切都编译良好,只是在Mono上得到这个。

/home/nubela/Workspace/subsync/subsync/Core/Subversion/PropGetHandler.cs(22,22): 错误 CS0535: org.tmatesoft.svn.core.wc.ISVNPropertyHandler.__<clinit>()' (CS0535) (subsync)Subsync.Core.Subversion.PropGetHandler' does not implement interface member

我搜索了方法,它似乎是从IKVM编译的Java库中基类的初始值设定项方法。__<clinit>()

我不知道现在如何继续,任何想法伙计们?:)


答案 1

我将在很多反对票中冒险,并提出另一种解决方案,也就是说,在我看来,要好得多......我真的不明白为什么你在.NET应用程序中使用Java库,如果.NET中有很多替代方案,以及很好的替代方案。

你为什么不使用一个.NET原生的svn库,比如 Svn.NET?它会更快。如果您有使用SVNKit的现有代码,则可以将其转换为 Svn.NET,或者只是为此创建一些包装器。

鱼不能生活在水外,对吧?它只能生活在它最自然的环境中,即水。所以,SVNKit,也应该生活在它幼稚的环境中......Java,而不是.NET。.NET中的SVNKit就像火星上的人类一样,这没关系,但我更喜欢地球上的人类。

Svn.NET 支持以下平台:

  • .NET 2.0 on Win32
  • Win32 上的 Mono(2.0 框架)
  • Mono on Linux (2.0 框架)

请注意,.NET/Mono 3.5 只是 2.0 的扩展,因此它可以在 3.5 上运行。

为什么要纠缠不清?这对你来说会容易得多。


答案 2

如果您有权访问 Java 库中的代码,则可以正确使用方法 __()。

方法 void __() {} - 编译刚刚好。如果这无济于事,是否可以提供重现错误的代码示例?


推荐