.NET 3.5目标应用程序寻找.NET 4.0程序集

时间:2014-09-12 05:25:20

标签: c# .net .net-assembly

我写过一个使用互联网的桌面软件。发送Http请求并使用Linq2Twitter库。

软件的目标是/ NET 3.5,并且引用中没有程序集作为.NET 4.0

我在几台机器上成功测试了不同版本的Windows。

然而,我的一位客户报告我的软件崩溃了,从日志文件中我发现了这个:

 Could not load file or assembly 'System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral,     PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

所以,我的问题是,这是怎么发生的? 为什么我不能在我身边看到这个问题?

它适用于只安装了.NET 3.5的机器,所以它不应该使用.NET 4程序集吗? 为什么它在我的客户端机器上混淆了?

PS:我不在我的软件中使用System.ServiceModel.Web,但显然Linq2Twitter确实如此,这可能是问题的根源吗? (顺便说一句,我使用的是.NET 3.5版本的Linq2Twitter)

有人可以帮忙吗? 当我使用Reflector或Telerik JustDecompile检查引用时,我根本看不到任何.NET 4程序集的依赖。

更新:

很奇怪,我有一个更详细的日志来帮助我找出问题所在。 看看StrackTrace,这是错误信息:

Could not load file or assembly 'System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

我也记录了内部错误,这里是:

Could not load file or assembly 'System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

它似乎首先寻找3.5.0.0版本,然后是4.0.0.0然后抛出错误。

导致这种情况的原因是什么?是否有可能错过一些装配??

0 个答案:

没有答案