Невозможно собрать чистый проект VSIX: Пытается загрузить Newtonsoft. Json, которого там нет? - PullRequest
0 голосов
/ 23 марта 2020

Следующая ошибка сборки приставает ко мне.

The "CompareCommonBuildTaskVersion" task could not be loaded from the assembly C:\Users\Thijs\.nuget\packages\microsoft.vssdk.buildtools\16.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 (версия файла).

Я использую :

  • Visual Studio Enterprise 2019 Preview
    • Версия 16.6.0 Preview 1.0
  • Visual Studio Enterprise 2019
    • Версия 16.5.0

После прочтения ссылки, размещенной 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 (см. Ответ).

1 Ответ

0 голосов
/ 24 марта 2020

Я снова попробовал разные версии пакета BuildTools, начиная с самой новой и после установки, перезапустил VS и затем перестроил решение:

  • Версия 16.6.1026 -> Март -> Не рабочая
  • версия 16.6.1024 -> март -> не работает
  • версия 16.5.2044 - февраль -> рабочая

Пока что, похоже, понижение рейтинга разрешено мои проблемы.

...