C# 找不到Microsoft.Threading.Tasks

C# 找不到Microsoft.Threading.Tasks,c#,.net,C#,.net,我制作了一个dll,它围绕着一些Google操作。在我的第一次试驾中,它工作得非常好,但现在在一个真实的程序中,我遇到了一个奇怪的装配参考问题: 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

我制作了一个dll,它围绕着一些Google操作。在我的第一次试驾中,它工作得非常好,但现在在一个真实的程序中,我遇到了一个奇怪的装配参考问题:

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。

可能有几个问题-您引用此dll的第一个项目不是针对.Net4的,或者您只是没有在机箱上安装.Net4 framework。

我希望您使用的是“google api dotnet客户端”。Microsoft.Threading.Tasks是此客户端根据google代码使用的dll:


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

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


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

这对我来说很有用:

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

从控制台键入:更新包Microsoft.Bcl.Async-重新安装


之后,可能会提示您重新启动Visual Studio以完成卸载程序包。一旦重新启动,软件包应该重新安装,一切都应该正常

只需安装
Microsoft.Bcl.Async
nuget软件包


(如果您将
Google.api.Oauth2.v2
UWP
app一起使用)

我在Microsoft.Threading.Tasks.PDB上也遇到类似问题

在此处找到解决方案:

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

这有帮助吗?问题是我引用的是System.Threading.Tasks。但它会查找Microsoft.Threading.Tasks。它们不一样,或者?dll I引用和引用项目都以.NET Framework 4.5为目标。我的电脑上安装了.NET4.5。自4月以来,我一直在VS2012的这台计算机上使用.NET,使用4.5应用程序。dcastro的建议适合你吗?看起来这是程序集绑定问题的可能解决方案之一。是的,我使用的是Google API,我用NuGet添加的。如果我下载什么来源?Microsoft.Threading.Tasks不是标准.NET 4.5发行版的一部分吗?我发布的链接是该项目的页面。在
下载部分(),您可以下载二进制文件、源代码和示例。二进制文件似乎不包含程序集,但源代码包含。你说得对!我以前只在VisualStudio中查看过程序集列表,现在您让我查看NuGet下载的文件,它就在那里。将文件添加到我的ILMerge解决了问题!谢谢这就是问题所在是的!谢谢是的!!Nuget软件包管理器中的Microsoft.bcl.Async解析:)我只需要安装nugetpackage microsoft.bcl.async包,它就解决了这个问题。你救了我。两年后,这个答案仍然有用。我被删除了System.Threading.Tasks引用,这是Firebird Ado客户端的依赖性。我很高兴它仍然有用。:)