我正在使用VS 2010.我创建了一个C#类并将其编译为一个DLL,然后向其添加了一个Windows窗体项目来测试该DLL。我在解决方案资源管理器的TestApp项目中添加了对DLL的引用。这两个项目编译没有错误。但是当我运行TestApp时,当我调用dll中的一个方法时,我得到一个NullReferenceException。该错误表示没有该对象的实例,我不介意将其作为被调用的方法。创建和使用C#DLL
我所做的一切都和我在网上找到的其他DLL例子一样。例如: http://msdn.microsoft.com/en-us/library/3707x96z(v=vs.100).aspx
http://coderock.net/how-to-create-a-dll-file-in-visual-studio-2010/
但我显然错过了一些基本的东西。
// DLL项目
namespace SLink
{
public class AmpAPI
{
public String[] ReadID(Int32 id)
{
String[] result = new string[] { "A", "B", "C", "D" };
return result;
}
}
}
//测试应用
using SLink;
namespace TestApp
{
public partial class frmMain : Form
{
AmpAPI amp;
public frmMain()
{
InitializeComponent();
}
private void frmMain_Load(object sender, EventArgs e)
{
amp = new AmpAPI();
}
private void btnUpdate_Click(object sender, EventArgs e)
{
String[] result = new String[] { "", "", "", "" };
result = amp.ReadID(0); // <-- NullReferenceException
}
}
}
什么是堆栈跟踪?你在调试器中看到什么? – SLaks