我想将R统计软件包用于IronPython 2.7应用程序中的某些数据处理。我已经找到了R.NET assembly,这应该可以实现这一点。问题在于IronPython拒绝加载R.NET程序集。

编码:

import clr
clr.AddReference("R.NET")

产生:
System.IO.IOException: could not add reference to assembly R.NET

该程序集位于一个名为R.NET.dll的文件中,该文件存储在我从其中调用ipy.exe的同一文件夹中。我检查了文件夹是否在sys.path上。我尝试了clr.AddReference("R.NET.dll")clr.AddReferenceToFile("R.NET.dll")之类的变体。没有一个是成功的。

问题可能是程序集名称中有一个点(.)吗?我将如何解决?

FWIW我正在使用Windows 7,R 2.13.0,IronPython 2.7,.NET框架v4.0和R.NET 1.4。我可以从Visual C#Express IDE(在.NET 4.0下)成功添加对R.NET的引用,并重现examples from the R.NET homepage.

提前致谢!

最佳答案

我猜想您使用的是Internet Explorer还是Chrome,它们都标记了下载的文件(带有Zone.Identifier)。 .NET将拒绝加载带有该标记污染的程序集。

要删除它,只需unblock the R.NET.dll file即可。现在您应该很好了。我将查看在尝试加载此类程序集时是否可以输入更好的错误消息。

10-07 19:08
查看更多