BuildManager.CodeAssemblies 返回的值为NULL
我在做一个网站,是用 Oxite 在做。因为需要,我改动比较大。
现在遇到了一个问题,很奇怪。
C# code
foreach (var assembly in BuildManager.CodeAssemblies)
{
type = ((Assembly)assembly).GetExportedTypes().FirstOrDefault(t => t.FullName == module.Type);
if (type != null) break;
}
这个时候出错了,我跟踪了一下,BuildManager.CodeAssemblies 返回的是 NULL。
不明白我什么地方出错了。请大家指教一下,感谢。
------解决方案--------------------
说明在App_Code 目录没有生成的任何的程序集,当然会出现这个异常。
我想你是把module放到单独的类库而不是写道App_Code中吧
如果是在Oxite中出现的该异常,应该是获取某个Module实例,找不到指定的类型
// 根据module的type属性在引用程序集中获取类型
Type type = Type.GetType(module.Type);
if (type == null)//设置断点
{//...}
在上一句中设置断点,看到底是查找哪个类型(module.Type)时出的问题
对应着去site项目下的bin目录,看到底有没有这个程序集。