web-dev-qa-db-ja.com

VS2017:ターゲットフレームワークのドロップダウンに.NET Core 2.1オプションが表示されない

VS2017 Enterprise 15.6.4を既にインストールしています。 公式サイト から最近インストールされた.NET Core 2.1.101 SDK

コンソールまたはasp.netコアアプリケーションを作成する場合、利用可能なターゲットフレームワークの1つとして.NET Core 2.1を期待していました。誰かが私がここで欠けているものを理解するのを助けてくれますか?.

コメントで示唆されているように、15.7プレビュー2をインストールしました。それでも運はなく、同じ問題があります。

enter image description here

22
Rahul Agarwal

私は同じ問題に直面しました。 Runtime for .NET Core 2.1で適切なSDKをインストールすることでこれを解決しました。

基本的に、VS Previewから2.1プロジェクトを実行/作成するには、「2.1.300」(2.1.4ではない).NET Core SDKとランタイムをインストールする必要があります。 https://www.Microsoft.com/net/download/dotnet-core/sdk-2.1.300-preview1 (必要なランタイムが既に含まれています)

この誤解を招くバージョンの説明は、ここで見つけました https://github.com/dotnet/cli/issues/8309 (dasMulliは2月24日にコメントしました)。

19
Deniss Kulakov

これが他の人に役立つ場合... VS 15.9.2をインストールした後、2.2 preview-3で正常に動作していた私のプロジェクトが動作しなくなりました。 VSはプレビューSDKを見ることができませんでした。 VSではなくdotnet.exeを使用してソリューションを構築できました。

これを解決するために、プレビューSDKを指すこのソリューションのルートフォルダーにglobal.jsonを作成しました。これにより、VSはプレビューバージョンを確認できました。

これは、15.8.xと15.9.xの間でのVSの動作の変更です。

Global.jsonを作成するには、目的のフォルダーに移動して次のように入力します。

dotnet new globaljson

8
Will Tartak

ドットネットPATH変数が正しい順序であることを確認してください

異なるシステムアーキテクチャのSDKをインストールした場合(たとえば、64ビットコンピューターに32ビット/ x86 SDKをインストールした場合)、 PATH変数 の新しいエントリが作成されます。その特定の場所(例:C:\Program Files\dotnetまたはC:\Program Files (x86)\dotnet)。

問題は、インストールされているフレームワークを検索するときに、SDKを含む最初のPATH変数エントリでVisual Studioが停止することです。したがって、インストールした最初のバージョンが誤ったアーキテクチャを使用していた場合、正しいSDKがTarget Frameworkドロップに表示される前にそれらのエントリの位置を調整する必要がありますダウン。

ソース: この#8309内のばかげて見つけにくいコメント


TL; DR:リストに表示されるパス変数の最初の「C:\ Program Files\dotnet \」エントリがシステムアーキテクチャと一致することを確認します:

  • 64ビット= C:\Program Files\dotnet\
  • 32ビット= C:\Program Files (x86)\dotnet\
5
Lopsided

Visual Studio 2017が最新であることを確認してください。 Visual Studioの更新プログラムをインストールするには、[ツール]-> [拡張機能と更新プログラム]に移動します。これで問題は解決しました。

2
Aqua Cat

ドットネットのプレビューバージョンをインストールしようとしても、同様の状況に直面しましたが、役に立ちませんでした。ただし、Visual Studioを更新した後(15.8から15.9.6に)。ターゲットフレームワークでドットネットコア2.1を見ることができました。

1
Vivek Neema

最新のVS 2017に更新され、最新の.Net Core SDKがインストールされました。 global.jsonを変更して、インストールされている最新バージョンを指すようにしました。これは解決しました。

1
Dharmesh Tailor