正在搜索错误版本的程序集?

时间:2014-07-24 08:57:59

标签: c# .net-4.0 visual-studio-2013 async-await nuget-package

我正在努力让 .net 4.0 的异步nuget包工作,但它似乎不起作用。我已经卸载了软件包,重新启动 VS 2013 ,并立即重新安装了大约10次。我已经尝试手动复制文件并右键单击添加>添加现有。

以下是我每次都会收到以下错误...

无法加载文件或程序集“Microsoft.Threading.Tasks,Version = 1.0.12.0 ,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。

所以出于某种原因,它正在寻找版本 1.0.12 ,但我只安装了版本 1.0.168 (最新版)所以我根本不知道为什么它会寻找版本 12 ,我无法找到这个设置的位置。我尝试了packages.config文件,但它在版本 1.0.168

时正确列出 什么哎!?我怎么能告诉它寻找版本 1.0.168 而不是!!请帮帮我!

2 个答案:

答案 0 :(得分:0)

通常在packages.config出现问题时会发生这种情况。它过去曾经发生在我身上几次。只需查看您的packages.config并确保其定义与您需要的版本匹配。

如果packages.config不是问题,您可以尝试:

  1. 从解决方案中删除块(右键单击解决方案,然后单击manage nugget packages for solution)并重新安装。
  2. 更新所有项目中的块包以要求相同版本的程序集。也许另一个项目依赖于旧版本。
  3. 如果项目中的引用是错误的版本,则首先卸载nugget,然后从项目中删除引用,然后尝试重新安装块,或手动引用正确的程序集。 / LI>

    我也忘了提到你也可以删除packages.config中的条目,但这不是一个好的解决方案(除非你100%确定你只会在一个程序集中使用这个库),因为它会导致问题当解决方案中的差异项目需要引用该程序集时。

答案 1 :(得分:0)

我遇到了类似的问题,VS 坚持使用特定版本,该版本不再可用。 恢复和重建似乎没有帮助。

最后,我选择了 msbuild dirs.proj,这为我解决了问题。