.NET Core 3.1 - 无法加载文件或程序集System.Runtime,版本=4.2.2.0

22

.NET Core 3.1控制台应用程序在构建过程中出现错误 -

System.IO.FileNotFoundException: 找不到文件或程序集'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'。

但是.NET Core 3.0版本可以正常运行。

我正在使用Microsoft.Orleans。这是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>

请分享您的代码和 csproj 文件。 - Pavel Anikhouski
请将其添加到问题中。 - Pavel Anikhouski
2
这里有完全相同的问题(https://github.com/dotnet/orleans/issues/5245),您需要更新的代码生成器。假设他们有一个,您可能会被困在3.0上,直到他们赶上。只需等待您添加的GitHub问题的响应即可。 - Hans Passant
1
这里的答案可能对你有用(如果你遇到了4.2.2问题而不是核心问题)https://dev59.com/4FgQ5IYBdhLWcg3wcjgs - d219
5个回答

10

在我的情况下,Nischal Nigam的解决方案没有起作用,所以我更新了包Microsoft.NET.Sdk.Functions的版本,从版本1.0...更新到3.0.11,之后它就正常工作了。


10

确保正确加载您的项目(而不仅仅是包含项目的文件夹)。在我的情况下,我加载了整个项目所在的文件夹,而不是加载 .csproj 文件。然后我重新加载并显式地点击 .csproj 文件,这样它就恢复正常了。


1
因此我遇到了许多晦涩的错误。 - Celsiuss

8

我正在使用 Microsoft Visual Studio - 版本16.4.5

前往以下位置并在文本编辑器中打开 devenv.exe.config 文件:

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

将此绑定粘贴到 <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>

完成后,保存文件并重新启动Visual Studio。


2

ReubenBond帮助我解决了问题。我使用了Microsoft.Orleans.CodeGenerator.MSBuild包,而不是Microsoft.Orleans.OrleansCodeGenerator.Build


0
  1. 双击“NameOfYourFile.csproj”文件来加载您的项目。
  2. 在菜单栏中,点击“项目” => “NameOfYourFile”的属性。选择“应用程序”,并选择一个有效的框架目标(列表中最新的)。
  3. 重新构建,它应该可以工作了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接