【未解决】C#中导入dll时,出现警告提示:xxx.dll或它的某个依赖项要求的.NET Framework版本比项目中指定的版本高

【问题】

折腾:

【已解决】C#中解析Json字符串

的过程中,已经得到了fastJson的VS项目了.

打开后,发现是.NET 4.0的,所以就去改为2.0的:

has changed to .net 2.0 for fastJSON

然后接着编译出来.NET 2.0的的fastJSON.dll。

然后把fastJSON.dll单独拷贝出来,放到我项目中的某个子文件夹下面:

copy out fastjson dll file

然后在当前的一个.NET 2.0的项目中去添加此dll的引用:

reference add for fastjson then ok

结果出错:

dll or its depencency version higer then current

即:

xxx.dll或它的某个依赖项要求的.NET Framework版本比项目中指定的版本高。

此处,想要搞懂为何会有此提示,如何解决。

【解决过程】

1.经过一番尝试,确定:

此处的所要导入的fastJson.dll所用的VS项目,的确就是.NET 2.0的,所以,排除了,.NET 4.0等版本不匹配的问题。

2.后来,把在使用导入dll的对话框时,直接导入,那个fastJson的VS项目,在debug文件夹下面所生成的fastJson.dll时,结果问题依旧。

3.网上找到:

如何:以编程方式向 WCF 服务和客户端添加可检测性

结果其给出的办法,也是要换当前项目的版本:

将对 System.ServiceModel.Discovery.dll 的引用添加到服务项目中。您可能会看到一条错误消息:“System.ServiceModel.Discovery.dll 或其依赖项之一要求的 .NET Framework 版本比项目中指定的版本高…”。如果看到此消息,请在解决方案资源管理器中右击相应项目并选择“属性”。在“项目属性”窗口中,确保“目标框架”为 .NET Framework 4.5 RC。

很明显,此办法,没任何价值。

 

【总结】

目前未完全解决此问题。

只是在弹出警告提示的时候,直接点击了”是“,貌似用起来此dll,也是没啥问题的。

但是没有完全搞懂,为何:

fastJson.dll,已经是Visual Studio的项目生成的.NET 2.0版本的了,

然后加到当前的.NET 2.0的项目中,为何还会由此提示。

 

看起来像是:fastJson.dll,有什么其他的依赖项,是高于.NET 2.0的,

但是此处,我已经确认过了,fastJson.dll的项目中,依赖的就是三个库:

all refer dll is 2.0 version

System

System.Data

System.Xml

都是.NET 2.0的了。

没啥其他依赖的库了。

不过,难道和编译fastJson.dll时出现的警告:

compiler para invalid define custometype

警告    2    编译器的参数无效,“/define:-CUSTOMTYPE”将被忽略。    fastJSON

有关?

 

暂时不去深究了。

以后有空再说。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量