我目前正在尝试从asp.net httphandler中动态加载程序集。我有一个dll,它是作为一个单独的库的一部分构建的,我的项目包含对所述DLL的引用,并与CopyLocal的服务一起部署为true。我创建了一个一次性对象来获取程序集路径,我已经在Temporary ASP.NET Files文件夹中确认了dll的存在,但调用GetTypes()会引发异常。
我做的事情如下:
string assemblyPath = new SomeClassInAssembly().GetType().Assembly.Location;
Type[] types = System.Reflection.Assembly.LoadFrom(assemblyPath).GetTypes();
我无法将程序集添加到GAC,因为这会破坏我尝试使用该服务的功能(想想在必要时加载程序集的沙盒服务),到目前为止我找不到任何能解决问题的东西。
供参考我正在使用VS 2008。
答案 0 :(得分:1)
由于您使用对程序集的引用编译Web应用程序,因此我不认为您需要使用Assembly.LoadFrom加载它。 GetTypes应该可以使用:
Type[] types = typeof(SomeClassInAssembly).Assembly.GetTypes();
答案 1 :(得分:0)
Doh,我终于连接到异常并查看了LoaderMessage,我错过了一个引用的程序集。