我正在尝试使用C#连接到R.我安装了R.Net并将其引用到我的项目中。这是我第一次尝试C#。我有什么想法吗?
这是示例C#代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using RDotNet;
namespace RNet_Calculator
{
public partial class Form1 : Form
{
// set up basics and create RDotNet instance
// if anticipated install of R is not found, ask the user to find it.
public Form1()
{
InitializeComponent();
string dlldir = @"C:\Users\R\R-2.15.2\bin\x64";
bool r_located = false;
while (r_located == false)
{
try
{
REngine.SetDllDirectory(dlldir);
REngine.CreateInstance("RDotNet");
r_located = true;
}
catch
{
MessageBox.Show(@"Unable to find R installation's \bin\i386 folder.
Press OK to attempt to locate it.");
}
}
}
}
}
这是Program.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Form1
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
答案 0 :(得分:1)
这实际上与R无关。您可能在一个地方而不是另一个地方覆盖了命名空间。你有代码
namespace RNet_Calculator
在您的表单代码中。如果您打开Form1.designer.cs
,您可能会看到
namespace Form1
只需将名称空间从Form1
更改为RNet_Calculator
,您的错误就会消失。
修改强>
为了响应您的修改,您应该将单个RNET_Calculator
命名空间更改回Form1
,或者您应该(但不必)更改Form1
命名空间您的Program.cs文件(以及项目中的任何其他文件)。这样做意味着您还应该更改项目属性中的命名空间。右键单击项目,选择“属性”,然后在“应用程序”选项卡中(应该是第一个打开的),更改&#34;默认命名空间&#34;文本框为RNET_Calculator
。