反映旧版本的System.dll

Rob*_*ert 6 .net c# reflection uri

我有一个构建活动,它反映了我们的一个库,以便将它与域定义进行比较.在反射过程中,每当我尝试反映Uri时,它都会返回RunTimePropertyInfo而不是Uri,每当我检查任何反射属性时,我都会得到一个异常声明......

"Could not load file or assembly 'System, Version=2.0.5.0, culture=neutral, publickeytoken=7cec85d7bea7798e, retargetable=yes"
Run Code Online (Sandbox Code Playgroud)

使用System.dll版本4.0.0.0编译构建活动.我怀疑这是问题所在.有没有办法在旧版本的System.dll上反映类型.

到目前为止,这只是Uri的失败.有任何想法吗?

Raj*_*ala 0

我认为存在版本控制问题,如果您使用项目中使用的不同版本的 dll,在这种情况下可能会发生此类错误。

这是一个过去对我有用的简单解决方案,如果有同样的问题,它也会对你有用。您可以通过定义有问题的 dll 的新旧版本,在 web.config 中使用“ bingingRedirect ”标记。这意味着它将忽略旧版本的 dll 引用并使用较新的版本(如果找到)。并且不会生成错误。

这是参考链接。 http://msdn.microsoft.com/en-us/library/eftw1fys%28v=vs.71%29.aspx