我有一个构建事件反射(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/