为什么会System.Threading.dll丢失从Windows \大会? [英] Why might System.Threading.dll be missing from Windows\Assembly?

查看:135
本文介绍了为什么会System.Threading.dll丢失从Windows \大会?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有各种版本的.NET Framework安装在运行XP Professional的远程计算机上(版本1.1直通4.0)。我已经安装了无功扩展得的好办法。

I've various versions of the .NET Framework (versions 1.1 thru 4.0) installed on a remote machine running XP Professional. I've installed Reactive Extension too for good measure.

我也有它的作品在我的机器,因为它引用的System.Threading发现这里上的应用程序: C:\ Program Files文件\微软无扩展\ REDIST \ desktopV2 \ System.Threading.dll

I also have an application which works on my machine because it references System.Threading found here: C:\Program Files\Microsoft Reactive Extensions\redist\desktopV2\System.Threading.dll

我有两个版本在GAC也。

I have two versions of the DLL in the GAC also.

两个问题:

我)为什么Visual Studio的决定,这是版本(实例)来引用,当我从列表中选择,而不是浏览到该文件?

i) Why did Visual Studio decide that this is the version (instance) to reference when I chose from the list rather than browsing to to the file?

二)为什么不的System.Threading在远程计算机上存在吗? (我以为是框架的核心组成部分)

ii) Why does System.Threading not exist on the remote machine? (I thought it was a core part of the Framework)

感谢

推荐答案

System.Threading.dll中添加了.NET 4.0(虽然命名空间的System.Threading 自V1已经出现)。接收包括版本System.Threading.dll的被反向移植到.NET 3.5 SP1。

System.Threading.dll was added in .NET 4.0 (though the namespace System.Threading has been around since v1). Rx includes a version of System.Threading.dll that was backported to .NET 3.5 SP1.

这听起来像你的目标.NET 3.5。在这种情况下,运行时不会加载了一块4.0只System.Threading.dll(显然)。你装会失败,除非你包括接收版本System.Threading.dll连同你的程序。

It sounds like you're targeting .NET 3.5. In this case, the runtime won't load a 4.0-only System.Threading.dll (obviously). Your loading would fail unless you included the Rx version of System.Threading.dll along with your program.

要直接回答的问题:

  1. 在接收注册自己的私有目录为框架的扩展。这是它如何通过VS发现。
  2. System.Threading.dll只包含在.NET 4.0,所以如果你是针对较早的框架,它不会被发现。

要解决你的问题,要么你的程序的目标。NET 4.0或包括接收的System.Threading.dll随着你的程序。

To solve your problem, either have your program target .NET 4.0 or include Rx's System.Threading.dll along with your program.

P.S。我建议您升级到RX的最新版本。该 desktopV2 文件夹没有被用于最后的几个版本。升级时,先卸载旧版本 - 它的工作原理更好的办法

P.S. I recommend upgrading to the latest version of Rx. The desktopV2 folder hasn't been used for the last few releases. When upgrading, uninstall the old version first - it works better that way.

这篇关于为什么会System.Threading.dll丢失从Windows \大会?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆