0

我有一个使用 VS2003 Ver 7.1.6030 开发的 .NET 1.1 Web 应用程序,使用 VB.NET 作为后面的代码;我最近在 VS2010 .NET 4.0 中创建了一个类库,以添加能够使用 System.Mail SmptClient 发送电子邮件,但是当我尝试添加对我的 .NET 1.1 项目的引用时,它给了我以下错误:

“无法添加对 libraryname.dll 的引用。这不是有效的程序集或 COM 组件。只能引用扩展名为“dll”的程序集和 COM 组件。请确保该文件是可访问的,并且它是一个有效的程序集或 COM 组件。”</p>

我究竟做错了什么?这可能吗?

非常感谢你的帮助!

大卫

4

2 回答 2

0

尝试以下类似的方法(不久前发现并保存在我的笔记中):

// Load the assembly
Assembly a = Assembly.LoadFile(@"C:\PathHere\DLL.dll");

// Load the type and create an instance
Type t = a.GetType("ClassLibrary.ClassName");
object instance = a.CreateInstance("ClassLibrary.ClassName");

// Call the method
MethodInfo m = t.GetMethod("MethodName");
m.Invoke(instance, new object[] {}); // Get the result here

这是一个更详细的带有参数的示例:反射:如何使用参数调用方法

于 2013-02-22T15:30:22.307 回答
0

您不能直接在 .net 1.1 项目中使用 .net 4 dll(您可以改为在 4 中使用 1.1)。唯一的解决方案(除非您可以升级框架版本)是包装您的功能(即在 WCF 自托管服务中)并通过 Web 服务或其他 IPC 技术使用它。

于 2013-02-22T16:22:08.940 回答