我正在尝试加载Pluralsight提供的解决方案,其中包含一个名为“GradeBook”的项目,使用Jetbrains的Rider IDE。从Git克隆存储库并加载解决方案后,我收到一个错误:
“项目'GradeBook'加载失败:无法找到SDK'Microsoft.NET.Sdk'。C:\ Path \ To \ RiderProjects \ CSharp-GradeBookApplication \ GradeBook \ GradeBook.csproj at(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开发并不常见。但我认为没有理由让这个简单的项目无法加载。
问题归结为我正在使用的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
该项目现已成功加载。