現在の.NETSDKは、.NET Core2.1のターゲティングをサポートしていません。.NET Core 2.0以下をターゲットにするか、.NET Core2.1をサポートする.NETSDKを使用します


81

Visual Studio 2017 v 15.6.0(プレビュー7.0)のプロフェッショナルバージョンへのアップグレードを試みました

aspnetcore-runtime-2.1.0-preview1-final-win-x64および.netcore SDK2.1.4をインストールしました。

新しいWebアプリケーションを作成すると、次のようなエラーが発生します

「現在の.NETSDKは、.NET Core2.1のターゲット設定をサポートしていません。.NETCore2.0以下をターゲットにするか、.NET Core2.1をサポートするバージョンの.NETSDKを使用してください。」

既存のプロジェクトをビルドしようとすると、エラーが発生します

「現在の.NETSDKは、.NET Core2.1のターゲット設定をサポートしていません。.NETCore2.0以下をターゲットにするか、.NET Core2.1をサポートするバージョンの.NETSDKを使用してください。」

ターゲットフレームワークに「.netcore2.1」が表示されない

コンピューターにglobal.jsonファイルがありません

dotnet --infoを試してみると、これが表示されます

c:\ source \ dnacloud \ testapp> dotnet --info .NETコマンドラインツール(2.1.100)

Product Information:
Version: 2.1.100
Commit SHA-1 hash: b9e74c6

Runtime Environment:
OS Name: Windows
OS Version: 10.0.16299
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.1.100\

Microsoft .NET Core Shared Framework Host

Version : 2.0.5
Build : 17373eb129b3b05aa18ece963f8795d65ef8ea54

1
これは最先端のものであり、15.x.0VSリリースは設計により機敏に壊れています。回避策は正しいにおいがしません。[ヘルプ]> [フィードバックの送信]> [問題の報告]を使用することは非常に重要です。そうしないと、すぐには修正されません。
ハンスパッサント2018年

7
「設計により壊れた」==悪い設計。私は、MSが急速に展開したいと考えていることを得るが、彼らは、開発ランドスケープに再導入されている依存関係地獄は... 90年代にLinuxカーネル上でビルドコードにしようと試みるのことを思い出す
ジェレミーHolovacs

回答:


69

ここでの問題は、Microsoftが.NET CoreSDKの番号付け方法で多くの人々を混乱させたことです。

元の投稿者のメッセージでは、パスC:\ Program Files \ dotnet \ sdk \ 2.1.100 \は.NETCore 2.1ラン​​タイムを表していないようです(ただし、そうだと思います)。

私はこの投稿に出くわしました。現在の.NETSDKは、Microsoftのサポート担当者が混乱を説明しているdevelopercommunity.visualstudio.comで.NET Core2.1をターゲットにすることをサポートしていません

「フィードバックをありがとうございます。この問題はバグではないと判断しました。.NETCore2.1をサポートする最初のSDKは2.1.300-preview1です。バージョン管理が混乱していることがわかっているため、2.1.300以降はSDKのmajor.minorバージョンは、ランタイムのmajor.minorバージョンとも連携するようになります。」

したがって... SDKを介してビルドするための.NETCore 2.1サポートを取得するには、少なくともバージョン2.1.300でSDKをインストールする必要があります(2.1.2は.NET Core 2.1ではないため)...ええ、混乱します。これで時間を失ってくれたマイクロソフトに感謝します。


22
「この問題はバグではないと判断しました」私はこれをバグと呼びます。
スクリプト

2
「これは恥ずかしいことだと判断したので、バグとは呼びません。」
Chris B.Behrens19年

-見た目が悪い。
クリスチャン

29

これは、2.2.100-preview3-009430をインストールしてから、Visual Studio15.9.2に更新した後に発生しました。

「.NETCoreSDKのプレビューを使用する」オプションを有効にして解決しました。

  1. 移動します:[ツール]> [オプション]> [プロジェクトおよびソリューション> .NETのコア

  2. [.NET CoreSDKのプレビューを使用する]チェックボックスをオンにします

  3. Visual Studioを再起動し、ソリューションを再構築します。

VSプレビューオプション


「ビルドツール」のみがインストールされているビルドサーバーではどうなりますか?そこにはGUIはありません。
springy 7619年

1
NETSDK1045で動作現在の.NETSDKは、.NET Core3.0のターゲティングをサポートしていません。試しblazor
Vamsi J

2
VSのv.16.1には、このようなオプションはありません
ユージンMaksimov

9
これは、ツール>オプション>環境>プレビュー機能に移動しました
Ludwo

18

インストール.NET Core SDK 2.1.300-preview2は私にとってトリックでした:

更新:念のため、最近リリースされた新しいバージョンがあります。2.2.0-preview1用の新しい.NETCore SDK(ASP.NET 2.2.0-preview1を含む)は、ここからダウンロードできます。

一般的に次のようなエラーが発生した場合は、この回答も参照してください。

現在の.NETSDKは、.NET Core2.Xのターゲティングをサポートしていません。


私のソリューションはビルドされませんが、IISExpressはこのエラー 'MACHINE / WEBROOT / APPHOST / ORCHARDCORE.CMS.WEB'を物理ルート 'C:\ Projects \ OrchardCore \ src \ OrchardCore.Cms.Web \'で吐き出しますプロセスを開始できませんでしたコマンドラインを使用 'C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ Extensions \ Microsoft \ Web Tools \ ProjectSystem \ VSIISExeLauncher.exe -argFile "C:\ Users \ daves \ AppData \ Local \ Temp \ tmp221C.tmp "'、ErrorCode =' 0x80004005:0。–
David Sopko

@DavidSopkoおそらく、環境変数LAUNCHER_PATHとLAUNCHER_ARGSの世話をする必要がありますblog.lextudio.com/…–
Dmitry Pavlov

13

私は問題を解決しました。原因は私がインストールしたことでした

  • aspnetcore-runtime-2.1.0-preview1-final-win-x64 そして
  • .net core SDK 2.1.4-x64 バージョン。
  • インストールにより、sdkファイルが c:\Program Files\dotnet
  • しかし、VS201732ビットはでsdkファイルを探していましたc:\Program Files(x86)\dotnet

これを解決するには

  • x86バージョンのsdkおよびaspnetcoreランタイムをインストールしました。

  • 新しいインストールパスを指すようにMSBuildSDKsPath環境変数を設定します。

  • コントロールパネルからすべての廃止されたSDKを削除しました

質問VS2017Update 3'Microsoft.NET.Sdk.Web 'は、この問題の解決に役立ちませんでした


私は同じ問題に直面しており、おそらく先月どこかにaspnetcore-runtime-2.1.0-preview1-final-win-x64をインストールしました。私はどこからインストールしたのか覚えておらず、そのようなダウンロードのために現在利用可能なリンクさえ見ることができませんでした(そのページでこの問題が議論されているかもしれないことを願っています)どこからx86バージョンをインストールしましたか?よくある問題のようですが、回答に説明を追加していただけますか。
rahulaga_dev 2018

1
@RahulAgarwal Aは、ゲームに少し遅れていますが、まだ右のダウンロードページを発見していない場合、それは次のようになります。microsoft.com/net/download/windowsはをクリックしてx86のダウンロードリンク。
Carsten Gehling 2018年

12

https://www.microsoft.com/net/download/visual-studio-sdks

上記のサイトからSDKをダウンロードできます

マシンにあるSDKを確認してくださいパスC:\ Program Files \ dotnet \ sdk

Visual Studioでターゲットフレームワークを変更または確認し、

スタートアップアプリケーションまたはプロジェクト=>アプリケーション=>ターゲットフレームワークを右クリックします。

フレームワークを変更してソリューションを構築し、ナゲットパッケージを復元できます。

ここに画像の説明を入力してください


クラスライブラリ(.NET Core)プロジェクトを追加した後、OPエラーが発生しました。ターゲットフレームワークがデフォルトで設定されていないことが判明したため、ドロップダウンから選択して保存するだけで、問題は解決しました。
jhhwilliams

7

同じことが私にも起こりましたが、.NETCoreのバージョン2.2の場合です。.NET Core 2.2 SDKの最新バージョン(当時は2.2.202)をインストールしました。Visual Studioを使用すると、Core 2.2の新しいプロジェクトを作成できましたが、エラーが表示されていました。

「現在の.NETSDKは、.NET Core2.2のターゲット設定をサポートしていません。.NETCore2.1以下をターゲットにするか、.NET Core2.2をサポートするバージョンの.NETSDKを使用してください。」

私のプロジェクトのターゲットフレームワークは空で、ドロップダウンに2.2が表示されませんでした。

.NET Core SDK 2.2.103をインストールした後、エラーはなくなり、ドロップダウンに「.NETCore2.2」と表示されました。


2

公開のためにIISを停止すると、問題が解決しました。ただし、最初にnet core 2.1 SDKをインストールし、VisualStudioを更新する必要がありました。


2

.Net Core SDK 2.1.4をインストールし、問題を解決せずにこの投稿の他の回答に従いました。最終的に私のためにそれをしたのは、.Net Core SDKバージョン2.1.301をインストールし、他のすべてのバージョンをアンインストールすることでした。SDK2.1.4は.NetCore 2.1をターゲットにできないようですが、SDK2.1.301はその役割を果たします。


これは、VisualStudioが2.1.301の隣にインストールされている場合でもSDK2.1.401を使用していないことを意味しますか?
バートVdA 2018

2

global.jsonプロジェクトのルートフォルダに、プロジェクトで.NET SDK2.1のみを使用するように強制するファイルがないことを確認してください。

このglobal.jsonファイルがある場合は、それを削除してから、VisualStudioを再起動します。

恥ずかしそうに聞こえるかもしれませんが、私はほぼ1時間いじくり回し、2.2を使用するように強制するためにいくつかのSDKバージョンをダウンロードしました。


2

私もこの方法で問題を解決しました:

利用可能なdotnetsdkのバージョンを確認してください

C:\Users\me>dotnet --list-sdks

 ##2.1.202 [C:\Program Files\dotnet\sdk]
 ##2.1.505 [C:\Program Files\dotnet\sdk]
 ##2.1.508 [C:\Program Files\dotnet\sdk]
 ##2.1.509 [C:\Program Files\dotnet\sdk]
 ##2.1.511 [C:\Program Files\dotnet\sdk]
 ##2.1.514 [C:\Program Files\dotnet\sdk]
 ##2.1.801 [C:\Program Files\dotnet\sdk]

これらすべてのバージョンでビルドをテストしましたが、プログラムと機能から上記のすべてをアンインストールするまで機能しません。次に、最新のものからダウンロードします。

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

これはうまくいきました。最新バージョンのdotnetsdkをインストールしただけのように、時間を無駄にしないでください。「」


1

私はライダーを使用しています、私は持っていました

現在の.NETSDKは、.NET Core2.2のターゲティングをサポートしていません。.NET Core 2.1以下をターゲットにするか、.NET Core2.2をサポートするバージョンの.NETSDKを使用します。

私が持っていた:

$ dotnet --list-sdks
2.1.2 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.505 [C:\Program Files\dotnet\sdk]
2.1.602 [C:\Program Files\dotnet\sdk]
2.2.202 [C:\Program Files\dotnet\sdk]

最新のSDKのみを保持してみましたが、次のようになりました。

プロジェクト「WebApplication3」のロードに失敗しました:指定されたSDK「Microsoft.NET.Sdk.Web」が見つかりませんでした。

そこで、すべてを削除して2.1.602を再インストールしました。ライダーから新しいプロジェクトを作りました。 そしてそれはうまくいった。どうやって解決したのか理解できたとは言えません...

一部の人々の問題はglobal.jsonにリンクされているようです。以下を参照してください。
- https://docs.microsoft.com/fr-fr/aspnet/core/migration/21-to-22?view = aspnetcore - 2.2 tabs =ビジュアルスタジオ
- https://docs.microsoft.com/fr-fr/dotnet/core/tools/global-json
- https://andrewlock.net/the-sdk-microsoft-net-sdk-web-specified-見つかりませんでした/

私が以前にした他のこと(それは問題を解決していないようでしたが、助けになったかもしれませんか?):
-Riderを2018.3.2から2018.3.4(最新)に更新します。-Monoのインストール(Riderビルド設定を調べるときにUnityのものを使用していました)。
-Jetbrain(Linuxで使用されているもの)のカスタムMSBuildを使用しようとしましたが、成功しませんでした。
-VSインストーラーから.NETCoreに関連するすべてをインストールします。
-VSコミュニティを最新のものに更新します。-再起動します。

Rider/Build, Execution, Deployement/Toolset and Build私は今持っている:
モノの実行:C:\Program Files\Mono\bin\mono.exe
- NETコアCLI実行ファイル:C:\Program Files\dotnet\dotnet.exe
-使用MSビルドバージョン(オート16.0を検出しました):C:\Program - Files\dotnet\sdk\2.1.602\MSBuild.dll


投稿の最後の行に関係していると確信しています。つまり、Riderが実際に使用しているMSBuildバージョンです。使用する最新の.NETCoreSDKによって提供されるものを指している必要があります。そうでない場合は、何かが間違っている、とあなたは、SDKを再インストールする必要があります...
rsenna

0

SDK 2.2.300をインストールした後、このエラーが発生し始めました。この投稿と他のいくつかの投稿を読んだ後、SDK 2.2.1xxダウングレードする と、エラーはなくなりました。注:SDK 2.2.300をアンインストールし、SDK2.2.1xxをインストールしてから再起動する必要がありました。



0

パイプラインに移動します。[パイプラインの編集]をクリックします。[エージェント仕様]ドロップダウンをクリックします。Windows2019に変更します。[保存してキューに入れる]をクリックします。

そして、ここに行きます。それは私にとってはうまくいきました。


-1

マイクロソフトは、悪い習慣が蔓延している古いソフトウェアを使用する機能を削除することにより、Net Core2.1の最新の開発ソフトウェアを早期に採用する人々により良いコーディング慣行を奨励しているようです。Net Core 2.0以前のバージョンはほぼ終了しているため、使用しないでください。(https://blogs.msdn.microsoft.com/dotnet/2018/06/20/net-core-2-0-will-reach-end-of-life-on-september-1-2018/

1)Microsoftは、アンチパターンと広く見なされてコードを理解するのが困難になったため、ServiceLocatorを削除しました。

2)MVCアプリケーションを改善するために、AccountControllerが認証/承認から削除され、単一責任の原則を実装するRazorページの使用が促進されました。

過去にソフトウェアエンジニアリング標準を下げるように構築されたソフトウェアの永続性を高めるために、これらの変更を回避することはベストプラクティスとは見なされません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.