当global.json还不够时,如何将SDK版本设置为.NET Core项目?

编程入门 行业动态 更新时间:2024-10-23 06:31:00
本文介绍了当global.json还不够时,如何将SDK版本设置为.NET Core项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我从多个来源发现,将SDK版本设置为.NET Core项目的官方方法是将global.json文件添加到项目主文件夹中.

顺便说一句,让我提醒一些有用的cli命令,它们可以运行到您的项目文件夹中:

dotnet --list-sdks 列出所有已安装的SDK

dotnet new globaljson --sdk-version 2.2.105 创建适当的global.json文件

现在是我的问题:

global.json未应用,显示的版本与我的global.json不匹配

我的csproj:

< Project Sdk ="Microsoft.NET.Sdk"< PropertyGroup>< OutputType> Exe</OutputType>< TargetFramework> netcoreapp2.2</TargetFramework>< LangVersion> 7.3</LangVersion></PropertyGroup>< ItemGroup>< PackageReference Include ="Microsoft.EntityFrameworkCore.Tools";版本="2.2.3"< PrivateAssets>全部</PrivateAssets>< IncludeAssets>运行时;建造;本国的;内容文件;分析器</IncludeAssets></PackageReference></ItemGroup>< ItemGroup>< ProjectReference Include =".. \ .. \ EmargementsListeners.Application \ EmargementsListeners.Application.csproj"/>< ProjectReference Include =".. \ .. \ EmargementsListeners.EmargProviders \ Emp.Source.FakeRandomisedXbus \ Emp.Source.FakeRandomisedXbus.csproj"/>< ProjectReference Include =".. \ .. \ EmargementsListeners.Persistence \ EmargementsListeners.Persistence.csproj"/></ItemGroup>< ItemGroup>< None Update =" appsettings.json">< CopyToOutputDirectory> PreserveNewest</CopyToOutputDirectory></无></ItemGroup></Project>

我的global.json:

{"sdk":{版本":"2.2.105";}}

结果:

如您所见,SDK版本与 global.json 不匹配.它应该是 NetCore.App 2.2.3 ,而不是 2.2.0

将此 global.json 放置到解决方案文件夹中将得到相同的结果.

我项目中的

dotnet --info :

dotnet --info.NET Core SDK(反映任何global.json):版本:2.2.105提交:7cecb35b92运行环境:操作系统名称:Windows操作系统版本:10.0.16299操作系统平台:WindowsRID:win10-x64基本路径:C:\ Program Files \ dotnet \ sdk \ 2.2.105 \主持人(对支持有用):版本:2.2.3提交:6b8ad509b6安装的.NET Core SDK:1.0.4 [C:\ Program Files \ dotnet \ sdk]1.1.0 [C:\ Program Files \ dotnet \ sdk]2.0.0 [C:\ Program Files \ dotnet \ sdk]2.0.2 [C:\ Program Files \ dotnet \ sdk]2.1.4 [C:\ Program Files \ dotnet \ sdk]2.1.201 [C:\ Program Files \ dotnet \ sdk]2.1.202 [C:\ Program Files \ dotnet \ sdk]2.1.302 [C:\ Program Files \ dotnet \ sdk]2.1.402 [C:\ Program Files \ dotnet \ sdk]2.1.500 [C:\ Program Files \ dotnet \ sdk]2.1.504 [C:\ Program Files \ dotnet \ sdk]2.2.103 [C:\ Program Files \ dotnet \ sdk]2.2.105 [C:\ Program Files \ dotnet \ sdk]安装的.NET Core运行时:Microsoft.AspNetCore.All 2.1.2 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.All]Microsoft.AspNetCore.All 2.1.4 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.All]Microsoft.AspNetCore.All 2.1.6 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.All]Microsoft.AspNetCore.All 2.1.8 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.All]Microsoft.AspNetCore.All 2.2.1 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.All]Microsoft.AspNetCore.All 2.2.3 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.All]Microsoft.AspNetCore.App 2.1.2 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.App]Microsoft.AspNetCore.App 2.1.4 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.App]Microsoft.AspNetCore.App 2.1.6 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.App]Microsoft.AspNetCore.App 2.1.8 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.App]Microsoft.AspNetCore.App 2.2.1 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.App]Microsoft.AspNetCore.App 2.2.3 [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.App]Microsoft.NETCore.App 1.0.5 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 1.1.2 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.0.0 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.0.5 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.0.7 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.0.9 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.1.2 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.1.4 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.1.6 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.1.8 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.2.1 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]Microsoft.NETCore.App 2.2.3 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]

问题:设置要使用的SDK版本缺少哪一步?

解决方案

添加

< RuntimeFrameworkVersion> 2.2.3</RuntimeFrameworkVersion>

到您的.csproj.

看看此问题和此以了解更多信息.

I found, from several sources, that the official way to setup SDK version into our .NET Core project is to add a global.json file into the project main folder.

By the way, let me remind some useful cli commands to run into your project folder:

dotnet --list-sdks list all installed SDKs

dotnet new globaljson --sdk-version 2.2.105 create the appropriate global.json file

Now my issue:

global.json is not applied, displayed versions does not match with my global.json

My csproj:

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp2.2</TargetFramework> <LangVersion>7.3</LangVersion> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.3"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference> </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\EmargementsListeners.Application\EmargementsListeners.Application.csproj" /> <ProjectReference Include="..\..\EmargementsListeners.EmargProviders\Emp.Source.FakeRandomisedXbus\Emp.Source.FakeRandomisedXbus.csproj" /> <ProjectReference Include="..\..\EmargementsListeners.Persistence\EmargementsListeners.Persistence.csproj" /> </ItemGroup> <ItemGroup> <None Update="appsettings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup> </Project>

My global.json:

{ "sdk": { "version": "2.2.105" } }

The result:

As you see, the sdk version does not match with global.json. It should be NetCore.App 2.2.3, not 2.2.0

Placing this global.json into the solution folder gives the same results.

dotnet --info from my project:

dotnet --info .NET Core SDK (reflecting any global.json): Version: 2.2.105 Commit: 7cecb35b92 Runtime Environment: OS Name: Windows OS Version: 10.0.16299 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\2.2.105\ Host (useful for support): Version: 2.2.3 Commit: 6b8ad509b6 .NET Core SDKs installed: 1.0.4 [C:\Program Files\dotnet\sdk] 1.1.0 [C:\Program Files\dotnet\sdk] 2.0.0 [C:\Program Files\dotnet\sdk] 2.0.2 [C:\Program Files\dotnet\sdk] 2.1.4 [C:\Program Files\dotnet\sdk] 2.1.201 [C:\Program Files\dotnet\sdk] 2.1.202 [C:\Program Files\dotnet\sdk] 2.1.302 [C:\Program Files\dotnet\sdk] 2.1.402 [C:\Program Files\dotnet\sdk] 2.1.500 [C:\Program Files\dotnet\sdk] 2.1.504 [C:\Program Files\dotnet\sdk] 2.2.103 [C:\Program Files\dotnet\sdk] 2.2.105 [C:\Program Files\dotnet\sdk] .NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

Question: Which step is missing to set up the SDK version to use?

解决方案

Add

<RuntimeFrameworkVersion>2.2.3</RuntimeFrameworkVersion>

to your .csproj.

Take a look at this question and this one for more information.

更多推荐

当global.json还不够时,如何将SDK版本设置为.NET Core项目?

本文发布于:2023-11-14 09:20:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1586827.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:还不够   设置为   如何将   版本   项目

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!