当global.json还不够时,如何将SDK版本设置为.NET Core项目? [英] How to setup SDK version into .NET Core project when global.json is not enough?
问题描述
我从多个来源发现,将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.
看看此问题和 My global.json: 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. Question:
Which step is missing to set up the SDK version to use? Add to your .csproj. Take a look at this question and this one for more information. 这篇关于当global.json还不够时,如何将SDK版本设置为.NET Core项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!<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>
{
"sdk": {
"version": "2.2.105"
}
}
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]
<RuntimeFrameworkVersion>2.2.3</RuntimeFrameworkVersion>