c# - タイプ 'オブジェクト'は、参照されていないアセンブリで定義されています(NET標準2.0/.NET Framework 4.6.1)




.net-standard .net-4.6.1 (4)

NET Core 2.0プレビュー2をインストールし、Visual Studio 2017プレビュー(15.3)の最新バージョンに更新すると、参照が自動的にインストールされるようになりました。

このGitHubの問題によれば、同様の問題に対処するには、.NET Frameworkプロジェクト内のNETStandard.Library.NETFrameworkパッケージへの参照を手動で追加する必要があります。

NuGet Console経由でインストールするか、

Install-Package NETStandard.Library.NETFramework -Version 2.0.0-preview1-25305-02 -Pre

数日前、NET Core / Standard 2.0プレビュー2がリリースされました。更新した場合、次のバージョンが必要です。

Install-Package NETStandard.Library.NETFramework -Version 2.0.0-preview2-25405-01 -Pre

またはNuGetストア( プレリリース版の表示をチェック)を使用して、 NETStandard.Library.NETFrameworkを検索しNETStandard.Library.NETFramework

これで参照が解決され、エラーは消滅します。

* Joperezrは、マイクロソフトでは後でこれを処理するツールを計画していると述べています。

今のところ、手動​​でこのパッケージへの参照を追加する必要がありますが、これは迷惑になる可能性がありますが、将来的にはこれを行うためのツールを計画しています。

私のクラスライブラリが基づいている.NET標準2.0プレビューを使用しています

いくつかのNuGetパッケージ、特にアーカイブの抽出に関する問題を抱えた後、私は.NET Core 2.0コンソールプロジェクトを.NET Framework 4.6.1に移行することに決めました。

.NET Framework 4.6.1は.NET Standard 2.0仕様を実装する予定です。 特にドットネット/標準GitHub Repo

残念ながら、.NET Frameworkへの移行により、すべての.NET Framework Consoleプロジェクトで次のようなエラーが発生しました。

エラーCS0012 'オブジェクト'タイプは、参照されていないアセンブリで定義されています。 アセンブリ 'netstandard、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = cc7b13ffcd2ddd51'への参照を追加する必要があります。

Objectは何でもEnumません: EnumTask 、...

NET Framework(4.6.1)で.NET Standard 2.0クラスライブラリを参照するにはどうしたらよいですか?



ちょうど私のようなこの問題を抱えている人

あなたのビジュアルスタジオ2017のバージョンを> 15.3に更新してください(ヘルプのバージョンをトップメニューから確認してください)。バージョン15.2でこのエラーが表示されました。 その後、更新されたVisual Studioのバージョンとそれが修正されました。


次のようにweb.configにnetstandardリファレンスを追加してみてください:

<system.web> 
   <compilation debug="true" targetFramework="4.7.1" > 
      <assemblies> 
         <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"/> 
      </assemblies> 
    </compilation> 
</system.web>






.net-4.6.1