nugetにあるMicrosoft.Office.Interop.ExcelはMicrosoftではなく無関係の個人が勝手に登録したファイルです。
# マイクロソフトによる署名があるファイルではあるが単独配布されてないバージョンなので、再配布許可してるか明示されてない
ExcelのCOMであるMicrosoft Excel xx Object Libraryは、Microsoft Office xx Object Libraryに登録されている型を使用しているため依存しています。
つまり、.Netから参照する場合にも両方の参照が必要です。
しかしnugetにあるやつはMicrosoft Office xx Object LibraryのPIAが含まれていません。
そのため参照解決に失敗しているのがそもそものエラーです。
COMReferenceはCOMの登録情報をもとに依存しているCOMも連鎖的に解決してくれるため、ExcelのCOMReferenceのみでビルドも実行もできる状態になります。
COMReferenceが嫌なら
<Reference Include="Microsoft.Office.Interop.Excel">
<HintPath>C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Excel.dll</HintPath> <!-- VSTOビルドツールで入るかも -->
<!-- <HintPath>$(Windir)\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll</HintPath> -->
<EmbedInteropTypes>true</EmbedInteropTypes>
</Reference>
<Reference Include="office">
<HintPath>C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\Office15\Office.dll</HintPath> <!-- VSTOビルドツールで入るかも -->
<!-- <HintPath>$(Windir)\assembly\GAC_MSIL\office\15.0.0.0__71e9bce111e9429c\OFFICE.DLL</HintPath> -->
<EmbedInteropTypes>true</EmbedInteropTypes>
</Reference>
のように自力で依存も参照してやれば.net frameworkのmsbuildを使わなくてもdotnet build
でビルド可能になります。