0

フィードにプッシュした MyGet パッケージをいくつか作成しました。プロジェクトでこれらのパッケージを正常に参照しました。NuGet パッケージ マネージャーにパッケージが一覧表示され、Users[username].nuget\packages にダウンロードされていることがわかります。実際、packages フォルダー内のこれらのフォルダーを削除し、ソリューション内のパッケージを復元するために戻ったときに、フォルダーが再度ダウンロードされていることがわかりました。もちろん、これらの参照は project.json ファイルにもリストされています。

その時点まではすべて良さそうです。

次に、それらのパッケージの 1 つからクラスを参照しようとしましたが、Visual Studio はそれをまったく見つけることができません。標準の「型または名前空間...存在しません」というエラーが表示されるだけです。また、オブジェクト エクスプローラーでパッケージをプルアップして、クラスを表示できるかどうかを確認しようとしましたが、プルダウンされた他のすべての Nuget パッケージを表示できるのに、どこにもリストされているパッケージを見つけることができませんでした。

MyGet フィードにアクセスしてパッケージをダウンロードし、すべてのクラスとインターフェイスがリストされていることを確認しました。確かに、それらはすべてそこにあります。

要約すると、私のプロジェクト参照は問題ないようです。パッケージの中身は問題ないようです。VS はパッケージを Users[user].nuget\packages にダウンロードしています。ただし、コードでパッケージを完全に使用できません。

違いがあるかどうかはわかりませんが、これは VS 2015 で、.NET Core を使用しています。

どうすればこれを解決できますか?

詳細については、3 つのパッケージを展開できないことを示すソリューション エクスプローラー。

4

1 に答える 1

1

project.json ファイルに次のスクリプト コードを追加して、.NET Core パッケージをパックしてください。

"scripts": {
"postcompile": [
  "dotnet pack --no-build --configuration %compile:Configuration%"
  ]
}

.NET Core プロジェクトをコンパイルすると、\bin\debug ファイルに .nupck ファイルが生成されます。次に、このパッケージを NuGet フィードにアップロードし、プロジェクトにインストールしてください。

nuspec ファイルを使用する手順で .NET Core パッケージをパックすると、同じ問題が発生します。.NET Core プロジェクトは、project.json を使用したマネージャー パッケージである共通プロジェクトとは異なります。そのため、.NET Core パッケージを project.josn ファイルにパックしてください。

于 2016-11-01T04:59:12.510 に答える