c# - 反射(reflect)旧版本的 System.dll

标签 c# .net reflection uri

我有一个构建事件反射(reflect)了我们的一个库,将其与域定义进行比较。在反射过程中,每当我尝试反射 Uri 时,它都会作为 RunTimePropertyInfo 而不是 Uri 返回,并且每当我检查任何反射的属性时,我都会收到一个异常说明 ...

"Could not load file or assembly 'System, Version=2.0.5.0, culture=neutral, publickeytoken=7cec85d7bea7798e, retargetable=yes"

构建事件是使用 System.dll 版本 4.0.0.0 编译的。我怀疑这是问题所在。有没有办法让我在旧版本的 System.dll 上反射(reflect)类型。

到目前为止,只有 Uri 失败了。有什么想法吗?

最佳答案

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

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

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

关于c# - 反射(reflect)旧版本的 System.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15479667/

相关文章:

C# 多线程 HttpWebRequest 超时.. 帮助!

java.lang.IllegalArgumentException : object is not an instance of declaring class when I use reflection 异常

java - 使用反射设置和获取的性能

c# - 为什么我需要用这个简单的 LINQ 表达式来引用 System.Numerics?

c# - 使用 C#/.Net 时,只读如何影响目录?

c# - 使用反射获取 INotifyPropertyChanged 通知的属性的实际值?

c# - 我不确定是否需要手动 'clean up' 我的对象或者垃圾收集器是否会处理它

c# - 对值在数据库中存储为 int 的枚举列进行排序

c# - 如何替换 richtextbox 中插入符号位置下的单词? - 实现拼写检查建议

.net - 如何构建共享项目