LoginSignup
2
1

More than 5 years have passed since last update.

自分がコントリビュートしているリポジトリで、参照しているライブラリが古い場合の対処

Posted at

C# で貢献しているプロジェクトの新しいバージョンを引っ張ってくると、どうやらバージョンが古い。Issue とか上げてみたんだけど、キャッシュをクリアしてと言われた。

あぁ、、、またやってしまった。こんなもんに時間をかけてアホやなと思うので、記録しておく。余裕で数時間ふっとんだ。

nuget のクリアの方法

さて、nuget のキャッシュのクリアだが、次のリファレンスがある。

global-packages

%userprofile%\.nuget\packages

おなじみの場所で、全てのNugetのパッケージがダウンロードされる場所。ディレクトリができているので消せばよい。今回はこれでもダメだった。

http-cache

%localappdata%\NuGet\v3-cache
NUGET_HTTP_CACHE_PATH 環境変数が設定されている場合はそちらを使う。

Visual Studio Package Manager と、dotnet ツールが使う予定のところ。ここのキャッシュは30分らしいが今回はここもglobal-packages に加えてこちらもクリアしないと有効にならなかった。

temp

%temp%\NugetScratch

NuGet がオペレーションの一時ファイルを保存するところ

plugins-cache

%localappdata%\NuGet\plugins-cache
NUGET_PLUGINS_CACHE_PATH 環境変数が設定されている場合はそちら

NuGetが、オペレーション要求の結果を保存する場所

確認のプロセス

Method Not Found など、古いバージョンに起因する問題が起きたら、キャッシュを疑ったほうがよさそう。自分はいつもドタバタしてて、ひとよりアホみたいに時間使うことがおおいんだけど、自分にメソッドを適用したらましになるかな?

  • VS のクリアと再ビルド
  • 上記の nuget のキャッシュのクリア
  • テストの実施

これを最低限やってみるようにしよう。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1