无法构建干净的 VSIX 项目:尝试加载不存在的 Newtonsoft.Json?

Cannot build clean VSIX project: Tries to load Newtonsoft.Json which is not there?

下面的构建错误困扰着我。

The "CompareCommonBuildTaskVersion" task could not be loaded from the assembly C:\Users\Thijs\.nuget\packages\microsoft.vssdk.buildtools.6.1026\tools\VSSDK\Microsoft.VisualStudio.Sdk.BuildTasks.dll. 
Could not load file or assembly 'Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified. 
Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.   

我刚刚查看了提到的目录,那里有一个 Newtonsoft.Json.dll,但是它的版本是 12.0.2.23222(文件版本)。

我正在使用:

在阅读 link EricEJ 发布后,我检查了我的 devenv.exe.config,它具有以下(正确的)AssemblyRedirect:

    <dependentAssembly>
      <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
      <bindingRedirect oldVersion="4.5.0.0-12.0.0.0" newVersion="12.0.0.2"/>
      <codeBase version="12.0.0.2" href="PrivateAssemblies\Newtonsoft.Json.12.0.0.2\Newtonsoft.Json.dll"/>
    </dependentAssembly>

问题似乎出在实际的 BuildTools 包上(参见答案)。

我再次尝试了不同的 BuildTools 包版本,从最新版本开始,安装后重新启动 VS,然后重建解决方案:

  • 版本 16.6.1026 -> 3 月 -> 不工作
  • 版本 16.6.1024 -> 3 月 -> 不工作
  • 版本 16.5.2044 - 二月 -> 工作

到目前为止,降级似乎已经解决了我的问题。