无法调试.NET Core:无法加载文件或程序集“System.Runtime, Version=4.2.1.0 / 4.2.0.0”。

3
这不是一个问题。只是想分享一下我如何最终在Visual Studio中调试.NET Core项目,经历了标题中的错误。 我尝试了很多建议,但每次我尝试调试.NET Core项目 - 即使是完全新的Azure函数或HTTP触发器模板(V2)- 都会出现缺少System.Runtime Version=4.2.1.0错误。首先,我注意到新项目的目标是.NET Standard。我将其更改为.NET Core,因此我的.csproj文件如下所示:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.13" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

我尝试添加

<PropertyGroup>
    <UseNETCoreGenerator>true</UseNETCoreGenerator>
</PropertyGroup>

并且

<PackageReference Include="System.Runtime" Version="4.3.1" />

我尝试将代码添加到.csproj文件中,但这也没有帮助。

我甚至尝试卸载VS 2017和VS 2019以及所有的.NET Core包,并重新安装它们。但仍然没有运气。

然后我得出结论,这与我的机器有关 - 某些数据必须已经损坏了。

微软将.NET Core的数据存储在用户的“隐藏”的%APPDATA%文件夹中:

C:\Users\<USERNAME>\AppData\Local\AzureFunctionsTools\

显然,我的数据丢失了很多。大约丢失了300MB,而不是 ~700MB 。我猜这可能与我们办公室的网络连接速度有关。
我找到了这篇文章:https://github.com/Azure/azure-functions-host/issues/3759 ,其中soninaren提到了他所采取的步骤,并提供了未损坏的AzureFunctionsTools模板的来源:https://github.com/soninaren/Workarounds/releases/download/1.0.0/AzureFunctionsTools.zip 只需解压缩,打开其中找到的每个manifest.json文件,并替换标签TemplatesDirectory中的用户名,以便将其指向您的用户名文件夹。然后,删除您的AzureFunctionsTools文件夹(C:\Users\<USERNAME>\AppData\Local\AzureFunctionsTools\),并将编辑后的zip内容复制到该文件夹中。
完成之后,您应该能够调试.NET Core项目,并且您的新Azure函数项目最初将以.NET Core为目标。
希望这可以帮助您, Ron

Ron,我根据你的解决方法发布了一个答案。你能否将其标记为答案,以便其他人更容易看到?如果你发布了答案,我会删除它。 - Cindy Pau
1个回答

0

感谢Ron的贡献。为了让其他人在遇到相关问题时能够快速找到解决方案,我在这里记录Ron的努力:

如果您遇到此问题,

1、首先,在计算机上显示隐藏文件夹。Azure函数工具位于此目录中:C:\Users\<USERNAME>\AppData\Local\AzureFunctionsTools\,删除Azure函数工具文件夹。

2、其次,单击this link下载Azure函数工具。

3、第三步,解压缩,然后打开每个manifest.json文件。替换标签TemplatesDirectory中的用户名。之后,将它们复制到C:\Users\<USERNAME>\AppData\Local\AzureFunctionsTools中。


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