2012-10-09 93 views
0

我试图从一些编译引用使用IKVMC交叉编译的代码生成Microsoft SQL Server 2008 Express R2存储过程(C#)CLR。原始代码是用java7编写的。问题是IKVM给我一个.NET Framework 4.0程序集。 SQL Server 2008不支持.NET Framework 4.0!我想知道是否有一种方法可以将我的程序集交叉编译为.NET Framework 3.5而不是4.0?如何使用IKVMC编译支持.NET Framework 3.5的java7代码?

列出IKVM支持的平台包括” .NET 2.0 SP2的Windows 64,我想目标: http://weblog.ikvm.net/PermaLink.aspx?guid=692505a6-f9e7-45ec-90b9-ec7a75d3b509

一直在寻找的IKVMC选择这里: http://sourceforge.net/apps/mediawiki/ikvm/index.php?title=Ikvmc

这是不向我明白如何指定'.NET 2.0 SP2'或框架3.5?此外,我坚持使用SQL Server 2008,所以我不能简单地升级到新版本以获得框架4.0支持。

+0

我能够通过从'C:\ Windows \ Microsoft.NET \ Framework \ v2'加载依赖关系System.Windows.Forms.dll和System.Drawing.dll,将IKVM.Runtime.dll加载到SQL Server 2008中。 0.50727'我猜这些DLL可以向后兼容v1.1,依据:http://www.ikvm.net/userguide/intro.html ...希望我的内置DLL现在也会加载。 –

+0

需要手动将这些程序集加载到SQL Server 2008中感觉有点奇怪吗?它们不应该默认可用吗? –

回答

1

IKVM是为.net 2.0编译的。这意味着它对.NET 2.0至3.5没有问题。如果你使用.NET 4.0,那么你需要对app.config文件进行棘手的处理。

如果所有需要的dll都在同一个目录下,那么dll的静态加载不应该有任何问题。

编译你的dll可能有问题。详情请参阅classloader wiki

如果这没有帮助,您收到的错误消息可能会有所帮助。您通过邮件列表获得IKVM的最佳帮助。

+0

是的,昨天搞定了。我的困惑的根源在于System.Drawing和System.Windows.Forms dll的手动加载。我不明白,如果dll兼容,为什么它会寻找这些?不应该自动加载吗?可能不会。感谢您的反馈意见。会给你检查! –

相关问题