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

C# 正在搜索错误版本的程序集?,c#,.net-4.0,visual-studio-2013,async-await,nuget-package,C#,.net 4.0,Visual Studio 2013,Async Await,Nuget Package,我正在尝试让.NET4.0的异步nuget包工作,但它似乎不工作。我卸载了软件包,重新启动了VS 2013,现在重新安装了大约10次。我尝试手动复制文件,然后右键单击“添加”>“添加现有文件” 以下是我每次都会遇到的错误 无法加载文件或程序集“Microsoft.Threading.Tasks,Version=1.0.12.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件 因此,出于某种原因,它正在寻找版本1

我正在尝试让.NET4.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!!请帮帮我

当packages.config出现问题时,通常会发生这种情况。这件事在过去发生过好几次。只需查看packages.config并确保其定义与您需要的版本相匹配

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

  • 从解决方案中删除熔核(右键单击解决方案,然后单击“管理解决方案的熔核包”),然后重新安装它
  • 更新所有项目中的nugget包,使其需要相同版本的程序集。也许另一个项目依赖于旧版本
  • 如果项目中的引用用于错误的版本,则首先卸载nugget,然后从项目中删除引用,然后尝试重新安装nugget,或手动引用正确的程序集

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

    我也有类似的问题,VS坚持使用一个特定的版本,现在已经不可用了。 恢复和重建似乎无济于事


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

    为什么我的帖子不断被编辑?我故意把包裹的全名放在帖子里,你为什么一直把它拿走?请停下来,已经这么做了。。。如上所述。它在packages.config和.csproj文件中显示了版本1.0.168。你知道还有什么地方需要检查吗?很抱歉,我在阅读你的问题时错过了。我也尝试过卸载和重新安装。。。好几次。此外,我的解决方案中的任何其他项目都没有安装该软件包。调试器实际上列出了引发异常的项目,这是我正在处理的项目,而不是另一个项目。因此,我找到了列出1.0.12版本的位置。在“解决方案资源管理器”>“引用”下,单击“属性”工具箱中Microsoft.Threading.Tasks的引用,我看到版本号为1.0.12,但它已灰显,无法更改。想法?已经试过了。卸载nuget时,它会自动删除引用。如果我手动删除它们,然后手动将其添加回。。。猜怎么着,还是1.0.12版。。。不,它在哪里要求我选择一个版本,VS 2013自己填写,然后不让你更改它