Unable to load System.Threading.Tasks.Extensions

I have a web project build on .net framework 4.5.1. We are trying to added PostgreSQL support for the project. Using Nuget, I have installed 4.0.4 npgsql to the project. Under references, I see the following being added to the project.

  1. Npgsql - 4.0.4.0 - Runtime version v4.0.30319
  2. System.Threading.Tasks.Extensions - 4.2.0.0 - Runtime version v4.0.30319

When I tried run the project and connect and get the data from the database, I am getting the following error saying FileNotFoundException:

 System.TypeInitializationException HResult=0x80131534 Message=The type initializer for 'com.rsol.RConfig' threw an exception. Source=RConfig StackTrace: at com.rsol.RConfig.getInstance() in C:\Workspaces\PS\RConfig\RConfig.cs:line 1113 at RAdmin.Global.Application_Start(Object sender, EventArgs e) in C:\Workspaces\PS\RAdmin\Global.asax.cs:line 528 Inner Exception 1: TypeInitializationException: The type initializer for 'com.rsol.Db.DbMgr' threw an exception. Inner Exception 2: FileNotFoundException: Could not load file or assembly 'System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified. Inner Exception 3: FileNotFoundException: Could not load file or assembly 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified. 

System.Threading.Tasks.Extensions which is installed using Nuget is not getting loaded to the project. When I checked the properties of System.Threading.Tasks.Extensions reference, the dll file exists in the location. I have also tried installing System.Threading.Tasks.Extensions.dll file to assembly using gacutil. I am still getting the same error.

Please let me know if you need any additional information.

Any help is really appreciated.

2

9 Answers

In my case, I got the issue after upgrading to version 4.5.4 and tried @user2713341 answer. It didn't work but put me in the right direction.

My project had no bindings for this library, so I added the binding and it worked

<dependentAssembly> <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" /> </dependentAssembly> 

and it worked.

Note that it should be 4.2.0.1 even though the version is 4.5.4.

5

Update Nuget Package

will solve your problem

2

Update Nuget Package is not working for me.

What works? In app.config need to change

<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" /> 

To

<bindingRedirect oldVersion="0.0.0.0-4.5.4" newVersion="4.5.4" /> 

for current version 4.7.2 should work.

Microsoft like ;)

3

The response from @Keyjote was at the root of the solution for me, but rather than cherry-picking the assemblies, I was able to just reinstall. This seemed to automatically repair the app.config file.

Tools -> Nuget Packet Manager -> Packet Manager Console

Update-Package -reinstall -Project <your project name> 

This way you don't need to mess with the syntax or have to figure out the PublicKeyToken values.

If you want to do it for the whole solution, you can omit the -Project <> parameter.

0

problem lies in *.csproj file. having wrong reference for System.Threading.Tasks.Extensions.4.5.4 because this dll not loading. after referring correct framework version folder from lib its start working old Reference:

<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath> </Reference> corrected one: <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net472\System.Threading.Tasks.Extensions.dll</HintPath> </Reference> 

please clean the nuget cache first, then run test case it will work

I got the error in a different context when trying to migrate using Entity Framework Core (EFC) Version 3.1.8 using the Package Manager Console. The project built successfully.

Trying the binding redirects as suggested in this thread and (re)installing different versions of System.Threading.Tasks.Extensions as well as EFC (as suggested also elsewhere) did not work for me.

I managed to solve the problem by

  • deleting the packages/ directory in my project's root directory
  • using manual NuGet Package Restore (link to Microsoft Docs) via Visual Studio

I have been struggling a lot with bindingRedirect. I finally found a real gotcha that solved my problems.

I have a WCF server project in .net 4.8, depending on projects in .net standard 2.0.

I was updating Nuget packages in the referred projects. I got al sorts of problems, I won't try to mention them here.

I had bindingRedirects in web.config. I had to rediscover that those were unnecessary, and maybe even conflicting, because of automatic generation of those into the dll.config. There are various aspects to make that work, see elsewhere.

But the real gotcha for me was that for IIS, I had to LINK web.config to the dll.config. The latter being the complete config-file, with all the bindingRedirects, which turned out to be working after all.

1

Try to download the package and add reference to your project explicitly . should work , I just resolved it .

1

I got a similar error message - but for a different reason. In packages.config set by NUGET manager There was a ref for the new version - but in project reference there was a ref for an old version. The solution - delete the ref in project reference

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like