深圳营销型网站制作,苏州网站建设都找全网天下,wordpress注册未发送邮件,网站 售前研究很好几天#xff0c;终于成功了。因为写了一个Java的项目#xff0c;现在要求要改写成C#版本的。但是其中用到了svnkit#xff0c;svnkit是java平台的。改写成C#的话#xff0c;要使用SharpSVN,但是SharpSVN的API文档真的很不专业。看来看去还是svnkit比较好。所以打算… 研究很好几天终于成功了。因为写了一个Java的项目现在要求要改写成C#版本的。但是其中用到了svnkitsvnkit是java平台的。改写成C#的话要使用SharpSVN,但是SharpSVN的API文档真的很不专业。看来看去还是svnkit比较好。所以打算将一些操作(上传下载删除移动检索树)写好之后转成dll。于是开始了研究。 首先遇到的问题是jar包之间有依赖的话转成dll。在运行过程中会出现找不到类的错误。最终找到了解决办法有两种办法。 1.使用fatjar将他们统一一键打包(依赖包可以存在新建的lib文件夹中)再使用 ikvmc -target:library 打包好的fatjar文件路径 来将jar包转成dll。 在新建的C#工程中添加引用(添加转好的dll)直接使用打包好的函数就行。(就像使用库函数) 2.第二种方法是这样的 我举个例子说明一下一个类名为GetUserName(),将其导出为jar(BeDependent.jar)。再写一个类命名为InvokeGetUserName(),并且在InvokeGetUserName()中调用了GetUserName()。将InvokeGetUserName打包成另一个jar(ToDependent.jar)。 接下来先将没有依赖的jar包转成dll这里指的就是BeDependent.jar。 ikvmc -target:library BeDependent.jar的路径 会生成BeDependent.dll然后将两个jar包合成 ikvmc -target:library -reference:BeDependent.dll的路径 ToDependent.jar的路径 生成ToDependent.dll。在新建的C#项目中加载引用后直接在程序中直接调用InvokeGetUserName()即可。 注但是在我合成svnkit的jar们的时候出现了问题。还没有解决。 http://www.cnblogs.com/wangjiyuan/p/jar2dll.html