.Net Core项目找不到SDK,所以似乎

时间:2019-07-01 03:45:37

标签: .net-core visual-studio-code

我正在使用https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-vs-code中的说明来尝试在.Net Core中构建我的第一个Azure Functions项目

我的问题是我无法构建它:

PS C:\work\proj> dotnet build .\proj.csproj
Microsoft (R) Build Engine version 16.1.76+g14b0a930a7 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

c:\Program Files\dotnet\sdk\2.1.4\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets(135,5): error : The current .NET SDK does not support targeting .NET Core 2.1.  Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1. [C:\work\proj\proj.csproj]

Build FAILED.

c:\Program Files\dotnet\sdk\2.1.4\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets(135,5): error : The current .NET SDK does not support targeting .NET Core 2.1.  Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1. [C:\work\proj\proj.csproj]
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.56
PS C:\work\proj>

这是项目文件:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.28" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

我从https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-2.1.700-windows-x64-installer安装了最新的.Net Core SDK,所以:

PS C:\> dir 'C:\Program Files\dotnet\sdk\'


    Directory: C:\Program Files\dotnet\sdk

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----          6/7/2018  6:35 PM                1.0.0-preview2-003131
da----         2/21/2018  7:57 PM                2.1.4
d-----         10/2/2018  9:04 PM                2.1.403
d-----         12/3/2018  9:46 AM                2.1.500
d-----          1/3/2019  9:06 PM                2.1.502
d-----         5/23/2019  8:18 PM                2.1.507
d-----         6/30/2019 11:27 PM                2.1.700
d-----         6/30/2019 11:27 PM                NuGetFallbackFolder

PS C:\>

我不明白为什么该版本选择版本2.1.4。我在做什么错了?

编辑1

我很确定这是相关的。由于某种原因,我有环境变量 MSBuildSdksPath

PS C:\> $env:MSBuildSdksPath
c:\Program Files\dotnet\sdk\2.1.4\Sdks
PS C:\>

安装最新的SDK不会对其进行更新。为什么?

当我在本地控制台中删除它时,构建成功。从环境变量中完全删除它是否安全?

编辑2

PS C:\> dotnet --list-sdks
1.0.0-preview2-003131 [C:\Program Files\dotnet\sdk]
2.1.4 [C:\Program Files\dotnet\sdk]
2.1.403 [C:\Program Files\dotnet\sdk]
2.1.500 [C:\Program Files\dotnet\sdk]
2.1.502 [C:\Program Files\dotnet\sdk]
2.1.507 [C:\Program Files\dotnet\sdk]
2.1.700 [C:\Program Files\dotnet\sdk]
PS C:\>

4 个答案:

答案 0 :(得分:1)

尝试安装x32和x64。首先我只安装了x64,这是错误的...是我的错误,但也许您也做同样的事情:)

答案 1 :(得分:0)

您正在使用哪个版本的Visual Studio?

我也遇到了这个问题,如果您使用的是Visual Studio 2017,则此版本的.Net Core SDK将无法正常工作,您将需要使用此版本

https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-2.1.507-windows-x64-installer

答案 2 :(得分:0)

我刚刚删除了环境变量MSBuildSdksPath

仍然不知道是什么添加了它,为什么以及是否仅通过删除它就能摆脱困境。乐意接受更多信息的答案。

答案 3 :(得分:0)

在清理3.0.0之前的以前的SDK之后,我遇到了这个问题。 我以前安装过x86版本。 我不想再次安装X86和X64版本。 我查看了我的环境变量,并在PATH中看到一个指向dotnet文件夹的条目。我将其更改为C:\ Program Files \ dotnet \,现在我可以了。