web-dev-qa-db-ja.com

システムがVisual Studio 2017 ASP.NET Coreプロジェクトで見つかりませんでした

Visual Studio 2017の新しくリリースされたバージョンをインストールし、.NET Coreを対象とした新しいASP.NET Coreプロジェクトを開始しました。

箱から出して、私は

型または名前空間名 'System'が見つかりませんでした(usingディレクティブまたはAssembly参照がありませんか?)

エラー。何がこれを引き起こしているのか、それを修正する方法はありますか?

enter image description here

また、NuGetパッケージにも問題があるようです: enter image description here

また、コマンドラインを使用してプロジェクトでdotnet restoreを試行しましたが、次のエラーが発生しました: enter image description here

追伸Visual Studio 2017の最新バージョンの新しいプロジェクトでエラーが発生することを失望させます!

更新:SDKバージョンはv 1.0.1です-以下を参照してください: enter image description here

更新2:これは非常に奇妙です。元の問題は、Visual Studio 2015フォルダーの下のフォルダーを指すNuGetパッケージソースが原因であるように見えます。私はチェックを外し、nuget.orgのみを残しました。これにより、私のプロジェクトはすべてのパッケージを復元したように見え、プロジェクトを開始すると、標準のASP.NETページが読み込まれます。しかし、startup.csファイルを開くと、いたるところに赤い波線が出ますが、プロジェクトを実行するとうまくいきます。何が起きてる? enter image description here

更新3:プロジェクトとVS 2017を閉じました。その後、VS 2017を再起動してプロジェクトを開きましたが、現在は問題ないようです。そして、私は.NETStandardライブラリ1.6.1を参照しておらず、すべてが現在正常に動作しているようです。

45
Sam

今日同じ問題に出くわした。私はもはや存在しなかった古いナゲットのソースを持っていました。そこで、[ツール]> [Nuget Packet Manager]に移動し、間違ったもののチェックを外しました。 「OK」を押してから、プロジェクトを再構築すると、今ではうまく機能します。あなたはそれにつまずいたようですが、それが私の問題を解決したことを確認したかったのです。

enter image description here

30
erbaker

Visual Studio 2017 .Net Coreアプリケーションでも同じ問題が発生しました。 Visual Studioを閉じ、すべてを修正して再度開きました。

33
Swinkaran

最初にVS2015ネットコアmvc​​ Webプロジェクトを2017に変換し、次に2017年に新しいコアWebアプリケーションを作成しようとしたときに、同じ問題が発生しました。

[ツール| NuGetパッケージマネージャー|パッケージマネージャーの設定]に移動-[NuGetが不足しているパッケージをダウンロードできるようにする]および[VSでビルド中に不足しているパッケージを自動的に確認する]をオンにし、[すべてのNuGetキャッシュをクリアする]をクリックしました。

その後、ソリューションを再構築しました-必要なパッケージをすべて見つけてロードし、OKを実行しました。

すべてのケースで機能するわけではありませんが、簡単で試してみる価値があります。

18
David

Multiple VS2017を閉じて再度開くと、修正されました。

6
user378380

CMDでバージョン.NETコマンドラインツールを確認し、dotnet --infoと入力するだけです。バージョンが1.0.0の場合、最新バージョンの.NET Core SDKを here からインストールしてみてください。

enter image description here

5
NDimo

私は同じ問題を抱えていました。私にとっての解決策は、NuGetキャッシュをクリアすることでした。ツール> NuGetパッケージマネージャー>パッケージマネージャーの設定>すべてのNuGetキャッシュをクリア

3
BrendonC

この問題は、無数の理由によって引き起こされているようです。私の原因は、Git Bashを使用してVSTSから直接クローンを作成したことです。プロジェクトディレクトリにはスペースが含まれていました。 Git Bashは、パス内のこれらのスペースを%20に変更しました。それは私のプロジェクトのすべての参照を投げ捨てていました。したがって、他のすべてを試してみて、彼らの賢明な終わりにいる人のために、%20がパスにないことを確認してください。

1
Mike Davis

Visual Studio 2019と.NET Core SDK 2.2でも同じ問題が発生しました。

次の手順で問題を解決しました。

  1. Visual Studioを閉じます
  2. Visual Studioを管理者として開きます
  3. ソリューションを開く
  4. ソリューションを右クリック-> NuGetパッケージの復元
1
Momo

同じ問題があった。 nugetパッケージマネージャーを使用して、プロジェクトからApplication Insightsをアンインストールしました。私はまだそれを見ていませんが、コアと単体テストが欲しかったのです。問題が解決しました。

0
Eric Graeb

NuGetパッケージマネージャーを開き、それに関連するVisual Studioの設定を開くだけです-何も変更せずに行ってしまった。

これは断続的な問題であるようで、明白な理由もなく行き来できます。

0
Zarepheth

パッケージを解決しようとする2017と2017のどちらの順序であるのかはよくわかりません。しかし、私の状況は次のとおりでした。 VS2015では、nugetパッケージのローカルソースとサードパーティソースを構成し、2017年に新しくインストールされたバージョンでもロードしました。

https://api.nuget.org/v3/index.json はリストの最初にありました。

しかし、vs2017は、別のローカルリポジトリから.netコアライブラリを復元できないというエラーをスローしました。

https://api.nuget.org/v3/index.json 以外のすべてのチェックを外した後、正常に動作し始めていました。

0
Ivan Kononenko

csprojファイルの他の参照の上に次の行を追加してみてください

<Reference Include="netstandard" />

Reference screenshot

0
SushiGuy

私も同じ問題を抱えていました。依存関係の下にSDKフォルダーはありません。したがって、Microsoft.NetCore.Appライブラリはありません!

この問題を解決するには、Nugetマネージャーウィンドウで、.NetCoreAppに依存するすべてのNugetをインストールします(たとえば、Microsoft Visual Studio Offline PackagesソースからMicrosoft.AspNetCoreまたはBundlerMinifier.Coreをインストールできます)。

SDKは同時に復元されます。

戻ったら、以前に追加したヌゲットをアンインストールできます。 SDKはそのまま残ります。

0
Michael

Visual Studioを別のユーザーで管理者として実行しているときに問題が発生しました。通常のアカウントのユーザードキュメント内のソースファイルを使用してGitリポジトリを作成していました。そのフォルダーに新しいソリューションを作成すると、上記のエラーが発生しました。別の場所でプロジェクトを作成してみて、エラーが引き続き発生するかどうかを確認してください。

壊れたプロジェクトを見つけ、右クリックして「アンロード」、右クリック、「再ロード」を選択します。私にとって最速の修正。

CLIの使用中に問題が発生した場合は、nuget restoreの代わりにdotnet restoreを試してください。これにより、ドットネットCLIが見逃していると思われるパッケージがプルダウンされることがあります。

0
alastairtree

私もこの問題を抱えていましたが、今はそうではありません。この手順で問題が解決しました。メニューバーから[プロジェクト]-> [プロパティ]を選択します。 [プロジェクトプロパティ]ウィンドウの[構成プロパティ]-> [全般]で、[共通言語ランタイムサポート]が[共通言語ランタイムサポート(/ clr)]に設定されていることを確認します。

0
Rodrigo

新しいプロジェクトを作成したときに同じ問題に直面していました(。net Core 2.2) in VS2019。私の場合、問題を作成しているAzureパッケージがありました。それをアンインストールし、プロジェクトは正常に動作し始めました。以下のコマンドを実行して、パッケージをアンインストールします。

Uninstall-Package Microsoft.VisualStudio.Azure.Containers.Tools.Targets-バージョン1.7.10

0
Nofi

ここでの答えのどれも私のために働いていませんでしたので、私は何がうまくいったかを投稿しています。私のエラーは元のポスターとほとんど同じでしたが、次のこともありました。

「Microsoft.Extensions.FileProviders.Embedded.2.0.1」16進値0x1Cの無効な文字のメタデータの読み込みエラー

別のnugetパッケージをダウンロードするか、古いパッケージを復元しようとするたびに、このエラーが表示されます。次のような他のエラーも見ました。

タイプまたは名前空間システムが見つかりませんでした


私のために働いたもの:

  1. 私がC:\ Program Files\dotnet\sdk\NuGetFallbackFolder\Microsoft.extensions.fileproviders.embedded\2.0.1であるというエラーが悪いメタデータがあると言ったファイルパスを開きました
  2. 次に、そのフォルダーの内容を、「非表示」という名前の別のフォルダーに入れます。
  3. その後、nugetパッケージマネージャーに戻り、SDKを復元することを期待して、パッケージをインストールしようとしました。 IOtは正常に機能し、他のエラーもすべてなくなり、新しいプロジェクトが正常に実行されました。
0
Alexandra

私にとって、問題はカスタムIntermediateOutputPathを持つプロジェクトによって引き起こされました。何らかの理由で、project_name.csproj.nuget.g.targetsがプロジェクトフォルダーのobjサブフォルダーにない場合、エラーが発生します。

デフォルトのIntermediateOutputPathを使用するか、偽のobjフォルダーにproject_name.csproj.nuget.g.targetsのシャドウコピーを保持することで、問題を解決できます。

0
Martin Prikryl