我正在.NET Core平台上制作控制台应用程序,并想知道如何使用C#的动态特性加载程序集(.dll文件)并实例化类?它似乎与.NET 4.X有很大不同,而且没有真正记录...
例如,假设我有一个类库(.NET Core),它只有一个类:
namespace MyClassLib.SampleClasses
{
public class Sample
{
public string SayHello(string name)
{
return $"Hello {name}";
}
public DateTime SayDateTime()
{
return DateTime.Now;
}
}
}
因此,dll文件的名称将是MyClassLib.dll
,并且它位于/dlls/MyClassLib.dll
中。
现在我想在一个简单的控制台应用程序 (.NET Core) 中加载它,使用C#的动态特性实例化 Sample
类并调用方法:
namespace AssemblyLoadingDynamic
{
public class Program
{
public static void Main(string[] args)
{
// load the assembly and use the classes
}
}
}
注意: 我指的是 .NET Core 的 RC2 版本。