为什么会System.Threading.dll丢失从Windows \大会?大会、Threading、System、Windows

2023-09-04 00:17:13 作者:相見時難別亦難

我有各种版本的.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.

要直接回答的问题:

在接收注册自己的私有目录为框架的扩展。这是它如何通过VS发现。 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.

 
精彩推荐