我正在尝试使用Jetbrains的Rider IDE加载Pluralsight提供的解决方案,其中包含一个名为“ GradeBook”的项目。从Git克隆存储库并加载解决方案后,我得到一个错误:
“项目'GradeBook'加载失败:找不到指定的SDK'Microsoft.NET.Sdk'。C:\ Path \ To \ RiderProjects \ CSharp-GradeBookApplication \ GradeBook \ GradeBook.csproj位于(0:0) “
我检查了本地存储库,所有文件均存在且正确。
项目指定目标框架版本为2.0。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<StartupObject />
</PropertyGroup>
<ItemGroup>
<None Remove="*.gdbk" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
</ItemGroup>
</Project>
我相信我的环境支持它,正如我在已安装的运行时列表(Microsoft.NETCore.App 2.0.9
)中所看到的那样。当我从命令行运行dotnet --info
时,会得到以下结果:
.NET Core SDKs installed:
2.1.202 [C:\Program Files\dotnet\sdk]
2.2.105 [C:\Program Files\dotnet\sdk]
3.0.100-preview3-010431 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview3-19153-02 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-preview3-27503-5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.0-preview3-27504-2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
我已验证Rider已配置为指向dotnet.exe
(C:\Program Files\dotnet\dotnet.exe
)的正确路径。
我还尝试将TargetFramework
更改为2.2
和3.0
,以绕过此问题。
作为C#和.Net的新手,我敢肯定有些事情我还没有想到要解决此问题。首先,我没有看到SDK下方列出了2.0版本,但是在安装了所有可以找到的.Net SDK之后,包括明确表示它们是v2.0的版本,我没主意,需要帮助来克服这个问题。
我知道使用Visual Studio以外的IDE进行C#和.Net开发并不常见。但是我看不出这个简单项目无法加载的原因。
答案 0 :(得分:2)
问题归结为我正在使用的MSBuild版本。按照“ Using Rider under Windows without Visual Studio: prerequisites”中的说明进行操作后,我指定了一个自定义版本:C:\SDK\MSBuild\15.0\Bin\MSBuild.exe
。
然后我切换到自动检测的版本:C:\ProgramFiles\dotnet\sdk\2.2.105\MSBuild.dll
项目现在已成功加载。