読者です 読者をやめる 読者になる 読者になる

Code for final

ふぁいなる向けのコード置き場です。すでにコードじゃないこともいっぱい。

Nugetのパッケージアップデート後にAppVeyorでビルドエラーとなった場合

MovselexでAppVeyorを使っているのですが、
Nugetのパッケージ(NLog)を3.2から4.0に、Visual StudioのNugetのパッケージの管理からアップデートしたら AppVeyorで以下のようにビルドエラーになるようになりました。

warning MSB3245: Could not resolve this reference. Could not locate the assembly "NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\projects\finalstreamcommons\FinalstreamCommons.csproj]  
error CS0246: The type or namespace name 'NLog' could not be found (are you missing a using directive or an assembly reference?) [C:\projects\finalstreamcommons\FinalstreamCommons.csproj]
...
Command exited with code 1

ローカルでクリーンビルドしても通るのでなんだこれ??? と思って、直前のコミットを見たら以下のようにHintPathがローカルのパスになっていました。

<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
  <HintPath>..\movselex\packages\NLog.4.0.1\lib\net45\NLog.dll</HintPath>
  <Private>True</Private>
</Reference>

なんでこうなったのかわかんないですが、とりあえずNugetのパッケージの管理からアンインストールして再インストールで解決しました。