我正在使用.NET CF 3.5创建 dll 并从 exe 调用 DLL 的公共成员。Dll代码如下:
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
namespace DllPoc
{
public class DllCheck
{
public String ReturnString()
{
return "Hello DLL";
}
}
}
exe代码是:
public partial class Form1 : Form
{
String _AppPath;
String _AppImage;
String _AppName;
public Form1()
{
InitializeComponent();
//ReadAppLoaderXML();
//StartApp();
Assembly assembly = Assembly.LoadFrom("\\test\\DllPoc.dll");
Type type = assembly.GetType("DllPoc.DllCheck");
var obj = Activator.CreateInstance(type);
String s = (String)type.InvokeMember("RetrurnString",
BindingFlags.InvokeMethod | BindingFlags.Instance |
BindingFlags.Public, null, obj, null);
MessageBox.Show(s);
// Exit
Application.Exit();
}
}
在执行该行时:
String s = (String)type.InvokeMember("RetrurnString",
BindingFlags.InvokeMethod | BindingFlags.Instance |
BindingFlags.Public, null, obj, null);
抛出 NotSupportedException。
这是正确的程序吗?谢谢。