很抱歉,如果是重复的帖子。 link text
但我没有得到任何明确的解决方案..
我的应用程序加载各种dll,并处理它们。所以我需要在运行时在我的引用列表中添加dll。
如何在运行时在C#项目中添加程序集(dll)作为参考。我需要在运行时添加一个引用。!?即通常我们通过在解决方案资源管理器中右键单击引用添加引用,我们可以浏览任何dll并将其添加到引用中。我需要使用代码执行此操作。
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace GetType_success
{
class Program
{
static void Main(string[] args)
{
Assembly a = Assembly.LoadFrom(@"C:\Documents and Settings\E454935\My Documents\Visual Studio 2005\Projects\nunit_dll_hutt\for_hutt_proj\bin\Debug\for_hutt_proj.dll");
Type t = Type.GetType("for_hutt_proj.Class1,for_hutt_proj");
}
}
}
以下是类库for_hutt_proj的代码 使用系统; 使用System.Collections.Generic; 使用System.Text;
namespace for_hutt_proj
{
public class Class1
{
public int add(int a, int b)
{
int c = 0;
c = a + b;
return c;
}
}
}
其中,dll只有一个add方法returing int。 如果我在RightClicking中手动添加此dll并在Solution explorer中添加引用,则't'具有正确的类型。否则它有空。 但我需要在运行时添加此dll作为我的项目的参考,即使用代码而不是通过UI。我怎么能在运行时这样做。?
提前感谢。
答案 0 :(得分:0)
我得到了解决方案。 如果我使用,下面的代码工作正常。
Type type = asm.GetType(“for_hutt_proj.class1”,false,true);
归功于Marc Gravell。