我正在努力解决这个问题,坦率地说,我不知道可能是什么原因。
在使用PostScript实现免费游戏后,我有兴趣测试其完全免费的开源替代方案KingAOP。
从这里开始使用迷你教程(https://github.com/AntyaDev/KingAOP)我创建了简单的控制台应用程序。编译并运行应用程序后,我收到此错误:
"Could not load type 'KingAOP.AspectWeaver' from assembly 'KingAOP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.":"KingAOP.AspectWeaver"
在调用HelloWorldCall()
时抛出它。
来源:
class Program
{
static void Main(string[] args)
{
dynamic helloWorld = new HelloWorld();
helloWorld.HelloWorldCall();
Console.ReadKey();
}
}
class HelloWorldAspect : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
Console.WriteLine("OnEntry: Hello KingAOP");
}
public override void OnExit(MethodExecutionArgs args)
{
Console.WriteLine("OnExit: Hello KingAOP");
}
}
class HelloWorld : System.Dynamic.IDynamicMetaObjectProvider
{
[HelloWorldAspect]
public void HelloWorldCall()
{
Console.WriteLine("Hello World");
}
public System.Dynamic.DynamicMetaObject GetMetaObject(System.Linq.Expressions.Expression parameter)
{
return new AspectWeaver(parameter, this);
}
}
因为KingAOP在nuget存储库中不可用,所以我下载了github项目,构建并将其作为DLL库添加到我的项目中。