我想将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即可。现在您应该很好了。我将查看在尝试加载此类程序集时是否可以输入更好的错误消息。