这不是一个问题。只是想分享一下我如何最终在Visual Studio中调试.NET Core项目,经历了标题中的错误。 我尝试了很多建议,但每次我尝试调试.NET Core项目 - 即使是完全新的Azure函数或HTTP触发器模板(V2)- 都会出现缺少System.Runtime Version=4.2.1.0错误。首先,我注意到新项目的目标是.NET Standard。我将其更改为.NET Core,因此我的.csproj文件如下所示:
显然,我的数据丢失了很多。大约丢失了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文件夹(
完成之后,您应该能够调试.NET Core项目,并且您的新Azure函数项目最初将以.NET Core为目标。
希望这可以帮助您, Ron
<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