我制作了一个包含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.
Run Code Online (Sandbox Code Playgroud)
我听说过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();
Run Code Online (Sandbox Code Playgroud)
并且汇编列表中没有Microsoft.Threading.Tasks.
she*_*ppe 36
这对我有用:
通过工具菜单> NuGet包管理器>包管理器控制台打开NuGet控制台
从控制台输入:update-package Microsoft.Bcl.Async -reinstall
之后,系统可能会提示您重新启动Visual Studio以完成卸载程序包.一旦你重新启动,应该重新安装包,一切都应该工作.
听起来您正在使用Google API .Net客户端.我建议使用Nuget来安装链接页面上描述的程序集.但是,如果您下载源代码,Microsoft.Threading.Task则会包含assmeblies,因此您的调用代码似乎正在尝试访问这些程序集.
您可以手动将该程序集移动到您的目录中,但我通常会选择该Nuget方法,除非您需要使用特定的构建.