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など...私は困惑しています
これはおそらく、.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」ディレクトリ内に存在するかどうかを確認します。
私の頭の上から、パッケージがダウンロードされないいくつかの理由を考えることができます。理想的には、さらにいくつかの詳細を共有する必要があります。
最初に、install-packageコマンドが機能しません。パッケージはすでにインストールされていますVSはパッケージをダウンロードできないため、そのエラーが発生しているのは理にかなっています。
パッケージマネージャーコンソールを開き、次のように入力します。
Update-Package -reinstall
または
Update-Package -reinstall -Project YourProjectName
参考までに、マイクロソフトからの包括的なドキュメントがあります- https://docs.Microsoft.com/en-us/nuget/consume-packages/package-restore -nugetパッケージを復元する複数の方法
私はこの問題を解決しました。この手順に従ってください
nUGETがソースから強制的にダウンロードされるように、以下のnugetキャッシュフォルダーからパッケージを削除してみてください
C:\ Users\<<ユーザー名>> \。nuget\packages