12
votes

.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>
4
Please, share your code and csproj filePavel Anikhouski
Please, add it to the questionPavel Anikhouski
Exact same problem is here, you need the updated code generator. Assuming they have one, you might be stuck on 3.0 until they catch up. Just wait for the response on the github issue you added.Hans Passant
Answers here may be useful to (if you are arriving from a 4.2.2. problem and not Core) stackoverflow.com/questions/42755274/…d219

4 Answers

6
votes

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.

4
votes

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.

3
votes

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.

0
votes

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