Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Weird Mono compilation error

Tags:

java

c#

mono

ikvm

I am using IKVM to get SVNKit on a Mono project I'm working with, I have a class that implements an interface from SVNKit, and I can't compile:

On windows and on .NET, everything compiles fine, just getting this on Mono.

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

I googled __<clinit>() method, and it seems to be the initializer method for the base class in the Java library compiled from IKVM.

I have no clue how to proceed now, any idea guys? :)

like image 852
nubela Avatar asked Mar 01 '10 16:03

nubela


1 Answers

I'm going to take a risk in alot of downvotes and suggest another solution, that is, for my opinion, much more better... I don't really understand why you are using Java libraries in a .NET application, if there are many alternatives in .NET, and good alternatives.

Why don't you use a svn library that is native for .NET, like Svn.NET? It would be much more faster. If you have existing code using SVNKit, you can convert it to Svn.NET or just create some wrappers for that.

A fish can't live outside the water, right? It can live only in its natrual environment, water. So, SVNKit, should live in its natrual environment either... Java, and not .NET. SVNKit in .NET is like human in Mars, and it is ok, but I would prefer human in the earth.

Svn.NET supports the following platforms:

  • .NET 2.0 on Win32
  • Mono on Win32 (2.0 framework)
  • Mono on Linux (2.0 framework)

Note that .NET/Mono 3.5 is just an extension to 2.0, so it will work either on 3.5.

Why to become entangled? It will be much more easier for you.

like image 186
Alon Gubkin Avatar answered Oct 20 '22 09:10

Alon Gubkin