Silenus
Silenus

Reputation: 937

.NET Core 3.1 - Could not load file or assembly System.Runtime, Version=4.2.2.0

.NET Core 3.1 console app generates error during build -

System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.

But it works on .NET Core 3.0 version.

I'm using Microsoft.Orleans. This is csproj -

    <Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Orleans.Core" Version="3.0.2" />
    <PackageReference Include="Microsoft.Orleans.OrleansCodeGenerator.Build" Version="3.0.2">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>

</Project>

Upvotes: 23

Views: 51947

Answers (5)

Pierre
Pierre

Reputation: 1

  1. Load your project by double clicking on the "NameOfYourFile.csproj"
  2. In the menu bar, click Project => properties of "NameOfYourFile. Choose "Application" and select a valid Framework Target (the newest in the list).
  3. Rebuil, it should work.

Upvotes: 0

Alex
Alex

Reputation: 649

Make sure you load your project properly (not just the folder which contains the project). In my case, instead of loading the .csproj file, I loaded just the folder which contains the whole project. What I did then, reloaded and clicked the .csproj file explicitly, then it came back to normal.

Upvotes: 10

donatasj87
donatasj87

Reputation: 890

In my case Nischal Nigam's solution didn't worked out, so what I did, I updated the package Microsoft.NET.Sdk.Functions from version 1.0... to 3.0.11 and after that it started working just fine.

Upvotes: 10

Nishchal Nigam
Nishchal Nigam

Reputation: 81

I am using Microsoft Visual Studio - Version 16.4.5

Go to the following location and open the devenv.exe.config file in a text editor:

C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\16.0_1832c881\devenv.exe.config

Paste this binding in <configuration> -> <runtime> -> <assemblyBinding>

<dependentAssembly>
  <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
  <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>

After this, save the file and restart Visual Studio.

Upvotes: 8

Silenus
Silenus

Reputation: 937

ReubenBond helped me with solution. I used Microsoft.Orleans.CodeGenerator.MSBuild package instead of Microsoft.Orleans.OrleansCodeGenerator.Build.

Upvotes: 2

Related Questions