Microsoft.Threading.Tasks未找到

时间:2013-09-11 09:15:54

标签: c# .net

我制作了一个包含Google操作的dll。我的第一个测试驱动器完美地工作,但现在在一个真正的程序中,我得到一个奇怪的程序集引用问题:

FileNotFoundException was unhandled
Could not load file or assembly 'Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Det går inte att hitta filen.

我听说过System.Threading.Tasks(我正在使用它),但是Microsoft.Threading.Tasks在哪里进来?该异常发生在下面的代码段的最后一行。

Google.Apis.Admin.Directory.directory_v1.Data.Groups allGroupsResp = null;
var req = DirectoryService.Groups.List();
req.Domain = _settings.Domain;
allGroupsResp = req.Execute();

汇编列表中没有Microsoft.Threading.Tasks。

6 个答案:

答案 0 :(得分:35)

这对我有用:

通过工具菜单打开NuGet控制台> NuGet包管理器>包管理器控制台

从控制台输入:update-package Microsoft.Bcl.Async -reinstall

之后,系统可能会提示您重新启动Visual Studio以完成卸载程序包。一旦你重新启动,应该重新安装包,一切都应该工作。

答案 1 :(得分:7)

听起来你正在使用Google API .Net Client。我建议使用Nuget来安装链接页面上描述的程序集。但是,如果您下载源代码,则会包含Microsoft.Threading.Task assmeblies,因此您调用的代码似乎正在尝试访问这些程序集。

您可以手动将该程序集移动到您的目录中,但我通常会选择Nuget方法,除非您需要使用特定的构建。

答案 2 :(得分:3)

我希望您使用的是“google-api-dotnet-client”。 Microsoft.Threading.Tasks是此客户端根据谷歌代码使用的DLL: https://code.google.com/p/google-api-dotnet-client/source/browse/ThirdParty/Microsoft.Threading.Tasks.dll

您可能只需要将此文件移动到bin目录中。

答案 3 :(得分:2)

只需安装Microsoft.Bcl.Async nuget包!

(如果您使用Google.Apis.Oauth2.v2 app {/ 1}}

答案 4 :(得分:0)

可能存在一些问题 - 你引用此dll的第一个项目不是针对.Net4的,或者你刚刚没有在你的盒子上安装.Net4框架。

答案 5 :(得分:0)

我在找不到Microsoft.Threading.Tasks.PDB时遇到了类似的问题。

在这里找到解决方案:Cannot find .cs files for debugging .NET source code

TL; DR:VS试图调试.NET框架,但我缺少调试文件。但是我实际上并不需要调试.NET,所以我做了: 工具->选项->调试->常规->仅启用我的代码