我正在尝试在新计算机上打开 VS 2019 中的解决方案。
我从源代码管理中获取了最新的代码,打开了解决方案。除一个 Azure Functions 项目外,所有其他项目均已加载:“无法打开项目文件。无法找到 .NET SDK。请检查它是否已安装以及 global.json 中指定的版本(如果有)是否与已安装的版本匹配”版本。”
我验证了 VS 2019 安装程序中选中了“Azure Development Pack”。
然后我尝试创建一个新的Azure Functions项目,我得到了同样的错误。
该项目使用.Net Framework 4.6.2,它在我的旧电脑上运行良好。
非常感谢任何帮助!
我验证了 VS 2019 安装程序中选中了“Azure Development Pack”。
我尝试将 SDK 文件夹添加到 Path 环境变量 - 我真的不知道错误消息中的 SDK 是什么,因为所有其他项目都正常 - 控制台应用程序、类库应用程序
重新启动视觉工作室
重新启动电脑
还是同样的错误
由于您的 Function App 是在 .Net Framework 4.6.2 中创建的,因此您需要通过 Visual Studio 安装程序在 Visual Studio 2019 中安装该工具,如下所示:-
另外,请参阅 SO 线程答案 1 此处 和 Stack Exchange 答案 2 此处 来解决相同的错误。
检查您的本地系统路径并在
System variables > Path > C:\Program Files\dotnet
中添加以下变量
并根据Dadwals的评论删除带有
C:\Program Files (x86)\dotnet
x86的路径以解决错误。
根据上面的 Stack Exchange 答案 2 链接:-
从目录中删除 global.json,这将解决您的问题,因为最新版本的
.net core sdk
可以默认构建应用程序并支持早期版本。
由于
.Net 4.8
是Azure函数隔离进程的支持版本,您可以使用相同版本创建函数,如下所示:-
隔离函数csproj文件:-
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net48</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
<OutputType>Exe</OutputType>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.19.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.0.13" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.14.0" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>
我同意你的意见,最好使用 Visual Studio 2022。