web-dev-qa-db-ja.com

nugetがインストールされたパッケージを認識しない

NuGetのライブラリを使用するGitのC#プロジェクトがあります。すべてが正常に動作しますが、新しいマシンをプルしてVisual Studioでソリューションを開くと、参照が壊れているためコンパイルできません。プロジェクトの下の参照をクリックすると、黄色の感嘆符が付いたクラシックな警告サインが表示されます。

Nugetの復元は何もしません(そして、私はまだこの機能の使用を見つけていません...)、ファイルrepositories.configは問題ありません。ソリューションを右クリックして[ソリューションのNuGetパッケージを管理]を選択すると、インストールされているパッケージが表示されません。

今日まで私はこのようにそれを解決しました:実行

Install-Package package_name

それは言う:

'package_name' already installed.
My_project already has a reference to 'package_name'.

...その後、マネージャーにパッケージが表示され、すでに正しいプロジェクトに割り当てられています。


NOTHING HAS BEEN CHANGED in the ANYWHERE、Gitに違いがないため、これがわかります。

新しいマシンで1回だけ実行する必要がありますが、それはreally迷惑です。何か案が?


NuGetバージョン:2.8.60318.667


[〜#〜]更新[〜#〜] 07/07

Windows 10を搭載した別のPCで最初から手順を試しましたが、すべてが機能します... Visual Studioの同じバージョン、NuGetなど...私は困惑しています

11
SOROMEED

これはおそらく、.csproj内の.dllのパスが正しくないためです。パッケージの復元により、パッケージがローカルディレクトリにダウンロードされます。 .csproj内のアセンブリの参照パスは変更されません。つまり、プロジェクトは引き続きローカルディレクトリでDLLを見つけようとします。黄色のマークは、プロジェクトがアセンブリを見つけることができないことを意味します。

プロジェクトをアンロードし、プロジェクトを右クリックして[.csprojの編集]を選択し、不足しているdllのパスを確認します。例-NUnitがある場合、

<Reference Include="nunit.framework">
      <HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>

dLLが「\ packages\NUnit.3.6.1\lib\net45」ディレクトリ内に存在するかどうかを確認します。

7
Naman

私の頭の上から、パッケージがダウンロードされないいくつかの理由を考えることができます。理想的には、さらにいくつかの詳細を共有する必要があります。

最初に、install-packageコマンドが機能しません。パッケージはすでにインストールされていますVSはパッケージをダウンロードできないため、そのエラーが発生しているのは理にかなっています。

  • 何よりもまず、これはSystem.MVC.Webのようなnuget.orgでホストされているパブリックパッケージですか?これが新しいマシンの場合、プライベートnugetサーバーを使用して、そのソースを[ツール]> [オプション]> [Nugetパッケージマネージャー]> [パッケージソース]で構成する必要があるためです。 (詳細は https://docs.Microsoft.com/en-us/nuget/tools/package-manager-ui を参照してください)
  • Gitリポジトリにフォルダーを追加したかどうかを確認し、同時にその内容の除外を設定します。クリーンチェックアウトを行うときに、フォルダは存在するが空であるかどうかを確認します。その場合はフォルダを削除するだけで、git ignoreはこれからその仕事をするはずであり、すべての新しいクローンが適切なチェックを行います。
  • 理由である可能性が最も高いものである上記の2つが機能しない場合。パッケージマネージャーコンソールからパッケージを試して復元し、投稿を詳細で更新します。

パッケージマネージャーコンソールを開き、次のように入力します。

Update-Package -reinstall

または

Update-Package -reinstall -Project YourProjectName

参考までに、マイクロソフトからの包括的なドキュメントがあります- https://docs.Microsoft.com/en-us/nuget/consume-packages/package-restore -nugetパッケージを復元する複数の方法

2
rjso

私はこの問題を解決しました。この手順に従ってください

  1. Visual Studioで、Tools> Extension and Updatesをクリックします。
  2. Onlineに移動し、「NuGet Package Manager for Visual Studio "を検索して、pdateをクリックします。
  3. (ボタンがない場合pdatepdates> Visual Studio Galleryに移動し、「NuGet Package Manager for Visual Studio」を見つけてクリックします- 更新。)
  4. 次にVisual Studioを再起動します。
1
Kemal Güler

nUGETがソースから強制的にダウンロードされるように、以下のnugetキャッシュフォルダーからパッケージを削除してみてください

C:\ Users\<<ユーザー名>> \。nuget\packages

1
gargmanoj