私はこのようなプロジェクト構造を持っていました:
WebApp
-- WebApp
-- WebApp.sln
WebApp.Tests
-- WebApp.Tests.csproj
移動を使用してWebApp.TestsをWebAppに移動しました(単純なクリックとWebAppフォルダーへのドラッグ)。 WebApp.slnを編集してプロジェクト参照を修正し、ロードできるようにしました。
ビルドすると、Nugetはパッケージが見つからないこと、および復元を行うことを訴えます。ソリューションでnuget.exe restoreをダウンロードして使用したところ、すべてがそこにあると報告されました。
他のStackOverflowの回答に基づいて、次のことを試しました。
これらはすべて問題の修正に失敗しました。パッケージマネージャーを使用してコマンドでパッケージを再インストールしようとすると、プロジェクトのビルドと同じエラーが発生しました。最初にパッケージを復元する必要があります。
プロジェクトを修正する簡単な方法はありますか?私は本当に各パッケージを調べて手動でアンインストール/再インストールしたくありません。また、そもそもどうやってこの問題を防げたのでしょうか?プロジェクトの場所を移動する組み込みの方法はありますか?
プロジェクトファイルの最後に、これに似たXMLがありました。
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.Microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\WebApp\packages\SPECIFICPACKAGE')" Text="$([System.String]::Format('$(ErrorText)', '..\WebApp\packages\SPECIFICPACKAGE'))" />
</Target>
..\Webapp\packagesをファイルの他の部分のように..\packagesに変更することにより、私のソリューションは問題なくコンパイルされます。
プロジェクトフォルダーをsrcフォルダーに物理的に移動し、パッケージが見つからないというエラーが発生するという同じ問題がありました。私の修正は、メモ帳で.csprojファイルを開き、このすべてのインスタンスを置き換えることでした。
..\packages \
これとともに:
..\..\packages \
問題を解決しました...