2 回答
TA贡献2003条经验 获得超2个赞
也许这有效:
Type t = typeof(IViewFor<CompactDashboardViewModel>);
//this should evaluate to true:
bool result = t.Equals(typeof(IViewFor<CompactDashboardViewModel>));
Type.Equals 文档:https ://msdn.microsoft.com/en-us/library/3ahwab82( v= vs.110).aspx
编辑:
阅读这篇文章类型检查后:typeof、GetType 还是?我希望这能奏效:
Type t = typeof(IViewFor<CompactDashboardViewModel>);
//this should evaluate to true:
bool result = t is IViewFor<CompactDashboardViewModel>;
TA贡献1833条经验 获得超4个赞
好的,所以我解决了这个问题。这是我所做的:
我的主应用程序引用了一个库项目,而该项目又引用了插件项目。这可能导致程序集在不同的加载上下文中加载两次(有关更多信息,请参见下面的链接)。我删除了参考。问题没有解决,现在发生了奇怪的事情,例如
typeof(CompactDashboardViewModel) == null
.我的插件加载代码最初使用
appdomain.Load(bytes)
. 我用Assembly.LoadFrom
.typeof()
现在工作正常,并按预期工作。但是,Type.GetType()
有时仍会返回 null。我换成
Assembly.LoadFrom
用Assembly.Load
,并使用添加我的插件目录探测路径<probing>
的标签app.config
。现在一切正常,但是我无法通过文件路径加载插件,因为Assembly.Load
需要程序集名称。不理想,但我可以忍受。
- 2 回答
- 0 关注
- 169 浏览
添加回答
举报