Visual studio error msb8020

I got following error building a C++ driver project in the container.
  • Remove From My Forums
  • Вопрос

  • I got following error building a C++ driver project in the container.

     C:Program Files (x86)Microsoft Visual Studio2019BuildToolsMSBuildMicrosoftVCv160Microsoft.CppBuild.targets(3
    79,5): error MSB8020: The build tools for WindowsKernelModeDriver10.0 (Platform Toolset = ‘WindowsKernelModeDriver10.0’) cannot be found. To build using the WindowsKernelModeDriver10.0 build tools, please install WindowsKernelModeDriver10.0 build tools. 
    Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting «Retarget solution».

    How to resolve this error? Thanks.

    Dockerfile for the container

    FROM mcr.microsoft.com/windows/servercore:ltsc2019
    
    ENV TEMP_DIR="c:/temp"
    
    SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
    
    
    # Create temp file for installers
    RUN New-Item -ItemType Directory -Force -Path $env:TEMP_DIR; 
    
    
    # Install VS BuildTools 2019 
    SHELL ["cmd", "/S", "/C" ]
    COPY ./BuildTools2019 "$TEMP_DIR/BuildTools2019"
    RUN C:tempBuildTools2019vs_buildtools_2019.exe --quiet --wait --norestart --nocache --noWeb 
           --add Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools 
           --add Microsoft.VisualStudio.Workload.VCTools 
           --add Microsoft.Net.Component.3.5.DeveloperTools 
           --add Microsoft.VisualStudio.Component.Windows10SDK.17763 
           --add Microsoft.VisualStudio.Component.Windows10SDK.18362 
           --add Microsoft.VisualStudio.Component.VC.CMake.Project 
           --add Microsoft.VisualStudio.Component.VC.ATLMFC
    SHELL ["powershell", "-NoProfile", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; "]
    
    RUN dir "$env:TEMP_DIR" | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
    
    # Install WDK 10 1703
    COPY ./WDK1703 "$TEMP_DIR/WDK1703"
    RUN 
        Start-Process -FilePath "$env:TEMP_DIR/WDK1703/wdksetup.exe" -ArgumentList '/q', '/norestart' -PassThru | Wait-Process;
    
    RUN dir "$env:TEMP_DIR" | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
    
    # Install WDK 10 1809
    COPY ./WDK1809 "$TEMP_DIR/WDK1809"
    RUN 
        Start-Process -FilePath "$env:TEMP_DIR/WDK1809/wdksetup.exe" -ArgumentList '/q', '/norestart' -PassThru | Wait-Process;
    
    RUN dir "$env:TEMP_DIR" | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
    
    # Install WDK 10 1903
    COPY ./WDK1903 "$TEMP_DIR/WDK1903"
    RUN 
        Start-Process -FilePath "$env:TEMP_DIR/WDK1903/wdksetup.exe" -ArgumentList '/q', '/norestart' -PassThru | Wait-Process;
    
    RUN dir "$env:TEMP_DIR" | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
    
    # Install VCRedist 2012 
    COPY ./VCRedist2012 "$TEMP_DIR/VCRedist2012"
    RUN 
       Start-Process -FilePath "$env:TEMP_DIR/VCRedist2012/vcredist_x64_2012.exe" -ArgumentList '/passive', '/norestart' -PassThru | Wait-Process;
    
    
    COPY ./ABC "c:/ABC"
    
    
    

Ответы

  • WDK includes a VSIX package, which contains the Visual Studio extension that integrates Visual C++ with the WDK build .props and .targets.

    You need to install the MSBuild .props and .targets included in the VSIX package. Fortunately, you can manually extract the VSIX and copy the contents into Visual Studio. Assuming your VS Build Tools are installed in C:BuildTools2019, you can add the following
    commands to your Dockerfile: 

    # Install WDK.vsix manually by extracting its contents.
    RUN Copy-Item ""${Env:ProgramFiles(x86)}Windows Kits10VsixVS2019WDK.vsix"" 'C:wdkvsix.zip'
    RUN Expand-Archive 'C:wdkvsix.zip' -DestinationPath 'C:WdkVsix'
    RUN Copy-Item 'C:WdkVsix$MSBuildMicrosoft*' -Destination 'C:BuildTools2019MSBuildMicrosoft' -Recurse -Force
    RUN Remove-Item 'C:WdkVsix' -Force -Recurse 
    RUN Remove-Item 'C:wdkvsix.zip' -Force
    • Помечено в качестве ответа

      14 августа 2019 г. 18:58

Содержание

  1. Как установить (v142) Инструменты сборки в Visual studio
  2. 9 ответов
  3. Русские Блоги
  4. Решение ошибки ошибки миграции платформы VS MSB8020: инструменты сборки для V141
  5. Интеллектуальная рекомендация
  6. IView CDN Загрузка значка шрифта нормальная, а значок шрифта не может быть загружен при локальной загрузке JS и CSS
  7. Критическое: ошибка настройки прослушивателя приложения класса org.springframework.web.context.ContextLoaderLis
  8. 1086 Не скажу (15 баллов)
  9. Pandas применяют параллельный процесс приложения, многоядерная скорость очистки данных
  10. PureMVC Learning (Tucao) Примечания
  11. Как установить (v142) инструменты сборки в Visual Studio
  12. 10 ответов
  13. Изменить целевую платформу решения
  14. Решение
  15. Другие решения
  16. 5 ответов

Как установить (v142) Инструменты сборки в Visual studio

Поскольку я пытаюсь что-то построить в visual studio, то visual studio показывает мне предупреждение, а затем, если я проигнорировал это и произвел build, то произошла ошибка.

Это также покажет мне альтернативный вариант, который я тоже пробовал, но не работает.

9 ответов

У меня была такая же проблема, но когда я пытался открыть проект, сделанный в VS2019, с помощью VS2017, я изменил это в своем проекте:

Перейдите в: Project->Properties->General->Platform Toolset и измените текущую версию своего VS.

Это сработало для меня!

Суть в том, что вам необходимо установить Visual Studio 2019 для доступа к инструментам v142.

Наряду с различными версиями Visual Studio (VS2015, VS2017, VS2019) Microsoft также выпускает различные версии инструментов сборки, поскольку они продолжают улучшать компилятор и предоставлять дополнительные возможности и соответствовать обновленным языковым стандартам (C++, C++11, C++17 и др.). См. Visual Studio 2015, не обнаруживающую инструменты сборки v141 (2017).

См. Также это сообщение в блоге Microsoft об инструментах сборки для VS2017 и доступе к более ранней версии v140 из VS2015. Инструменты сборки Visual Studio теперь включают наборы инструментов VS2017 и VS2015 MSVC.

Многие из вас сказали нам, что вам все еще нужен набор инструментов MSVC v140 из Visual Studio 2015, чтобы продолжить создание старых кодовых баз. Мы обновили инструменты сборки Visual Studio, включив в них набор инструментов v140 из Visual Studio 2015 с обновлением 3, включая последний выпуск обслуживания. Вы можете заметить, что версия сборки набора инструментов компилятора может не соответствовать версии в полной установке VS 2015, даже если это одни и те же компиляторы. Это происходит потому, что мы создаем полную Visual Studio и инструменты сборки Visual Studio в отдельных ветках, которые могут быть созданы в разные дни.

Рабочая нагрузка инструментов сборки Visual C++ в Visual Studio Build Tools по умолчанию устанавливает последний набор инструментов v141 из VS2017. Набор инструментов v140 из VS2015 будет устанавливаться параллельно с набором инструментов v141. Чтобы установить их, просто выберите «Набор инструментов VC++ 2015.3 v140 для настольных ПК (x86,x64)» в нижней части раздела «Дополнительно».

В вашем случае инструменты сборки V142 были выпущены с VS2019. Не похоже, что версия 142 доступна для VS2017. Последние инструменты сборки для VS2017 выглядят как v141.

Вы можете использовать установщик Visual Studio для изменения доступных инструментов сборки путем добавления или удаления из списка. В этом сообщении SO описывается аналогичная проблема, но с отсутствием v140 в установке VS2015 Visual Studio. Ошибка MSbuild: инструменты сборки для v140 (Platform Toolset = ‘v140’) не могут быть найдены

Однако, если Microsoft не выпустила конкретную версию Build Tools для используемой вами Visual Studio, она не будет отображаться в списке доступных наборов инструментов.

В качестве побочного примечания, делая небольшое открытие по этому вопросу, я нашел несколько статей, в которых указано, что если у вас установлена ​​последняя версия Visual Studio, а затем установлена ​​более ранняя версия Visual Studio, инструменты целевой сборки по умолчанию также могут измениться на инструменты сборки для более ранней установки.

Другими словами, если у вас есть VS2019 с уже установленной целью по умолчанию v142, а затем устанавливается VS2017, цель по умолчанию изменится на v141, требуя, чтобы вы фактически установили цель сборки на v142 при использовании VS2019.

Похоже, что начиная с VS2015, Microsoft предоставляет стандартный движок Visual Studio, который является общим для VS 2015, VS2017 и VS2019, с обновленными инструментами сборки и различными компонентами для обеспечения новых функций и соответствия новым языковым стандартам. Существуют зависимости между версией Visual Studio и тем, какие инструменты и компоненты сборки можно использовать с версией Visual Studio, например, версия 142 недоступна для VS2017, скорее всего, для стимулирования покупки нового продукта.

Источник

Русские Блоги

Решение ошибки ошибки миграции платформы VS MSB8020: инструменты сборки для V141

Поместите программу, составленную на VS2017 в VS2013, и сообщите об ошибке:

error MSB8020: The build tools for v141 (Platform Toolset = ‘v141’) cannot be found. To build using the v141 build tools, please install v141 build tools.

Это связано с тем, что набор инструментов платформы не соответствует. V141 — это набор инструментов платформы VS2015. VS2013 не имеет этого набора инструментов, поэтому его можно изменить на V120.

Project- «Свойства-» Свойства конфигурации-обычная сборы платформ

Интеллектуальная рекомендация

IView CDN Загрузка значка шрифта нормальная, а значок шрифта не может быть загружен при локальной загрузке JS и CSS

Используйте iview, чтобы сделать небольшой инструмент. Чтобы не затронуть другие платформы, загрузите JS и CSS CDN на локальные ссылки. В результате значок шрифта не может быть загружен. Просмо.

Критическое: ошибка настройки прослушивателя приложения класса org.springframework.web.context.ContextLoaderLis

1 Обзор Серверная программа, которая обычно запускалась раньше, открылась сегодня, и неожиданно появилась эта ошибка. Интуитивно понятно, что не хватает связанных с Spring пакетов, но после удаления п.

1086 Не скажу (15 баллов)

При выполнении домашнего задания друг, сидящий рядом с ним, спросил вас: «Сколько будет пять умножить на семь?» Вы должны вежливо улыбнуться и сказать ему: «Пятьдесят три». Это.

Pandas применяют параллельный процесс приложения, многоядерная скорость очистки данных

В конкурсе Algorith Algorith Algorith Algorith Algorith 2019 года используется многофункциональная уборка номера ускорения. Будет использовать панды. Но сама панда, кажется, не имеет механизма для мно.

PureMVC Learning (Tucao) Примечания

Справочная статья:Введение подробного PrueMVC Использованная литература:Дело UnityPureMvc Основная цель этой статьи состоит в том, чтобы организовать соответствующие ресурсы о PureMVC. Что касается Pu.

Источник

Как установить (v142) инструменты сборки в Visual Studio

Когда я пытаюсь создать что-то в Visual Studio, Visual Studio покажет мне какое-то предупреждение, а затем, если я проигнорирую его и построю, возникнет ошибка.

Он также покажет мне альтернативный вариант, который я тоже пробовал, но не работает.

10 ответов

Спасибо — это зависит от того, как вы продвигаетесь в своем проекте. Файл проекта, по-видимому, построен с использованием v142, однако это НЕ ОБЯЗАТЕЛЬНО. Таким образом, вы можете просто использовать указанное выше решение и использовать имеющуюся у вас версию «инструмента сборки». Точно так же могут быть другие версии VS, которые можно использовать — я преодолел это, и проект был построен без каких-либо видимых проблем.

Думаю, это будет часто случаться, когда вы получаете проект от профессионального разработчика и хотите создать его с помощью бесплатной версии VS!

У меня была такая же проблема, но при попытке открыть проект, созданный в VS2019, с помощью VS2017, поэтому я изменил это в своем проекте:

Перейдите в: Project-> Properties-> General-> Platform Toolset и измените текущую версию своего VS.

Я использую Visual Studio 2017 и Visual Studio 2019 на двух разных компьютерах, и у меня регулярно возникают проблемы с набором инструментов платформы.

В VS 2019 при открытии решения / проекта, созданного с помощью VS2017, я обычно просто перехожу к «проектам» в строке меню вверху и выбираю «перенацеливание решения» (это, вероятно, устанавливает платформу на V142).

Напротив, в VS 2017 при открытии решения / проекта, созданного с помощью VS2019 (набор инструментов платформы v142), чтобы позволить ему работать, мне нужно «понизить» его до платформы v141. Для этого я щелкаю правой кнопкой мыши по проекту (а не по решению) и выбираю свойства, затем «Общие» и ищу «набор инструментов платформы», который я установил на «Visual studio 2017 (v141)», а затем я могу снова скомпилировать без ошибок. .

Суть в том, что вам необходимо установить Visual Studio 2019 для доступа к инструментам v142.

Наряду с различными версиями Visual Studio (VS2015, VS2017, VS2019) Microsoft также выпускает разные версии инструментов сборки, поскольку они продолжают улучшать компилятор и предоставлять дополнительные возможности и соответствовать обновленным языковым стандартам (C ++, C ++ 11, C ++ 17 и др.). См. Visual Studio 2015 не обнаруживает инструменты сборки v141 (2017)

См. Также это сообщение в блоге Microsoft об инструментах сборки для VS2017 и доступе к более ранней версии v140 из VS2015, Инструменты сборки Visual Studio теперь включают наборы инструментов VS2017 и VS2015 MSVC.

Многие из вас сказали нам, что вам все еще нужен набор инструментов MSVC v140 из Visual Studio 2015, чтобы продолжить создание старых кодовых баз. Мы обновили инструменты сборки Visual Studio, включив в него набор инструментов v140 из Visual Studio 2015 с обновлением 3, включая самый последний выпуск обслуживания. Вы можете заметить, что версия сборки набора инструментов компилятора может не соответствовать версии в полной установке VS 2015, даже если это одни и те же компиляторы. Это происходит потому, что мы создаем полную Visual Studio и инструменты сборки Visual Studio в отдельных ветвях, которые могут быть созданы в разные дни.

Рабочая нагрузка инструментов сборки Visual C ++ в Visual Studio Build Tools по умолчанию устанавливает последний набор инструментов v141 из VS2017. Набор инструментов v140 из VS2015 будет устанавливаться параллельно с набором инструментов v141. Чтобы установить их, просто выберите «Набор инструментов VC ++ 2015.3 v140 для настольных ПК (x86, x64)» в нижней части раздела «Необязательно».

В вашем случае инструменты сборки V142 были выпущены с VS2019. Не похоже, что версия 142 доступна для VS2017. Самые последние инструменты сборки для VS2017 выглядят как v141.

Вы можете использовать установщик Visual Studio для изменения доступных инструментов сборки, добавляя или удаляя их из списка. В этом сообщении SO описывается аналогичная проблема, но с отсутствием v140 в установке VS2015 Visual Studio. Ошибка MSbuild: инструменты сборки для v140 (Platform Toolset = ‘v140’) не может быть найден

Однако, если Microsoft не выпустила конкретную версию Build Tools для используемой вами Visual Studio, она не будет отображаться в списке доступных наборов инструментов.

Похоже, что начиная с VS2015, Microsoft предоставляет стандартный движок Visual Studio, который используется в VS 2015, VS2017 и VS2019, с обновленными инструментами сборки и различными компонентами для обеспечения новых функций и соответствия новым языковым стандартам. Существуют зависимости между версией Visual Studio и тем, какие инструменты и компоненты сборки можно использовать с версией Visual Studio, например Версия 142 недоступна для VS2017, скорее всего, чтобы стимулировать покупку нового продукта.

При установке VS2017 после установки VS2019

В качестве побочного примечания, делая небольшое открытие по этому вопросу, я нашел несколько статей, в которых указано, что если у вас установлена ​​последняя версия Visual Studio, а затем установлена ​​более ранняя версия Visual Studio, инструменты целевой сборки по умолчанию также могут измениться на инструменты сборки для более ранней установки.

Другими словами, если у вас есть VS2019 с уже установленной целью по умолчанию v142, а затем установите VS2017, цель по умолчанию изменится на v141, требуя, чтобы вы фактически установили цель сборки на v142 при использовании VS2019.

Источник

Изменить целевую платформу решения

Проект не запускается и выдаёт вот такую ошибку:

Ошибка MSBuild MSB8020
Не удалось найти средства сборки для v142 (набор средств платформы = «v142»). Чтобы выполнить сборку с помощью версии v142 средств сборки, установите средства сборки v142. Также можно выполнить обновление до текущих средств Visual Studio, выбрав меню «Проект» или щелкнув правой кнопкой мыши решение, а затем выбрав «Изменить целевую платформу решения».

При нажатии на «Изменить целевую платформу решения» появляется это окно. Но при изменении версии пакета ничего не меняется. Ошибка остаётся.

Как я могу изменить целевую платформу на Windows 7? Все, что я могу выбрать, это Windows 8.1, и поэтому мой проект не работает на Windows 7. Тот же проект, который я использовал для компиляции на моем старом ПК с Windows 7 с помощью Visual Studio 2013. И, конечно, он работал там.

Я уже пытался установить Windows 7 SDK, но, к сожалению, это не работает, так как требует Net Framework 4.0, который я больше не могу установить. (Windows 10 включает в себя 4.6?) — https://msdn.microsoft.com/en-us/en-en/library/ff770576.aspx

Решение

Версия целевой платформы

Для работы с Windows 7 или Windows Vista используйте значение 8.1, поскольку Windows SDK 8.1 обратно совместим с этими платформами. Кроме того, вы должны определить соответствующее значение для _WIN32_WINNT в targetver.h. Для Windows 7 это 0×0601. Увидеть Изменение WINVER и _WIN32_WINNT .

Другие решения

Чтобы получить дополнительные целевые платформы (то есть более старые компиляторы Visual C), установите соответствующие более старые версии Visual Studio параллельно.

Например, если вы хотите использовать Visual Studio 2017 в графическом интерфейсе и хотите выполнить сборку с VC2008 (msvc90), установите Visual Studio 2008 параллельно с Visual Studio 2017. В VS2017 в настройках сборки вы можете выбрать «VC». 2008 «построить цель.

есть ли способ в Visual Studio 2010 изменить целевую платформу по умолчанию, на которую указывают проекты при их создании? Я хочу нацелиться на 4.0. framework по умолчанию, а не версия профиля клиента платформы 4.0.

5 ответов

Visual Studio 2010 (и более старые версии) запомнит последнюю целевую платформу, которую вы выбрали при использовании File -> New -> New Project . Таким образом, если вы создадите новый проект с помощью 4.0, в следующий раз при создании нового проекта 4.0 будет выбрана целевая платформа.

EDIT: далее комментарий ниже:

посмотрев на это немного больше, есть еще одно решение, которое немного менее фаффи, чем информация по ссылке, которую я опубликовал в комментариях под.

создайте новое решение / проект с необходимой настройкой, затем goto File -> Export Template . После того, как вы сделали там, вы можете использовать свой новый шаблон, когда вы идете File -> New -> New Project .

кажется, работает,но не полностью протестирован.

есть способ изменить его, взломав шаблон:

что, вероятно, близко к тому же, что и ответ MrEyes.

Я знаю, что вопрос был первоначально для VS2010, но в Visual Studio 2015 гораздо проще изменить целевую структуру по умолчанию.

при добавлении нового проекта измените структуру вверху —

когда вы пришли, чтобы добавить другой проект, я обнаружил, что VS помнит последний выбор, который я сделал.

вот как вы делаете это с VS2008. Похоже, такой же (той же?) процесс для VS2010. (Я просто сделал это в своей собственной среде разработки VS2010.)

  • Правой Кнопкой Мыши на имя проекта.
  • перейдите на вкладку Приложения.
  • в списке «целевая структура» Выберите структуру, которую вы хотите использовать. Он будет отличаться в зависимости от того, какие .NET-фреймворки доступны в вашей системе.

Это так же просто, как в вашей Visual studio.

перейдите в 4-й пункт меню сверху, «веб-сайт».

В разделе веб-сайты перейдите к опции «параметры запуска».

В разделе Параметры запуска перейдите к опции’ build’.

измените целевую структуру там на то, что так когда-либо рамки.

Источник

This blog article shows you one of the possible ways to find the error below.

“Severity    Code    Description    Project    File    Line    Suppression State

Error    MSB8020    The build tools for v142 (Platform Toolset = ‘v142’) cannot be found. To build using the v142 build tools, please install v142 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting “Retarget solution”.”

One of the reasons is, you developed the C++ program using newer Visual Studio. Here is Visual Studio 2019. What you need to do is, right click the project. Go to Properties. Select the right Platform Toolset.

You might then face another error like the one below.

“Severity    Code    Description    Project    File    Line    Suppression State

Error    MSB8036    The Windows SDK version 10.0 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting “Retarget solution”.”

Right click the project again. Go to Properties. Select the right Windows SDK Version.

About chanmingman

Since March 2011 Microsoft Live Spaces migrated to WordPress (http://www.pcworld.com/article/206455/Microsoft_Live_Spaces_Moves_to_WordPress_An_FAQ.html) till now, I have is over 1 million viewers. This blog is about more than 50% telling you how to resolve error messages, especial for Microsoft products. The blog also has a lot of guidance teaching you how to get stated certain Microsoft technologies. The blog also uses as a help to keep my memory. The blog is never meant to give people consulting services or silver bullet solutions. It is a contribution to the community. Thanks for your support over the years.

Ming Man is Microsoft MVP since year 2006. He is a software development manager for a multinational company. With 25 years of experience in the IT field, he has developed system using Clipper, COBOL, VB5, VB6, VB.NET, Java and C #. He has been using Visual Studio (.NET) since the Beta back in year 2000. He and the team have developed many projects using .NET platform such as SCM, and HR based applications. He is familiar with the N-Tier design of business application and is also an expert with database experience in MS SQL, Oracle and AS 400.

1 minute read

Symptom

You have created a Unity project to create an app using MRTK2, and you want to use the new IL2CPP backend. You open the solution in Visual Studio 2019, you try to deploy it by using Build/Deploy and all the way at the end the compiler complains about “CL.exe” missing.

Alternatively, you might get the slightly more verbose error:

error MSB8020: The build tools for Visual Studio 2017 (Platform Toolset = ‘v141’) cannot be found. To build using the v141 build tools, please install Visual Studio 2017 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting «Retarget solution».

Cause

You have most likely used the the recommended Unity version (2018.4.2f1) to create the project. This version – the name gives it away – was released before Visual Studio 2019, and therefore assumes the presence of Visual Studio 2017 and it’s accompanying C++ tools set, ‘V141’. So Unity generated a C++ solution referencing that tool set.

But now it’s 2019, you have kissed Visual Studio 2017 goodbye, installed Visual Studio 2019. And that comes with tool set V142.

Solution

Either you install V141 using the Visual Studio Installer, or you tell the generated solution to use V142. I personally prefer the last one, because newer is always better right ;)

Simply right-click the project in the solution that has “(Universal Windows)” behind it’s name, select properties, tab general and then the problem is already pretty evident:

Simply select Visual Studio 2019 (142) for Project Toolset and you are good to go. This setting will stay as long as you don’t delete the generated project – Unity will simply change what needs to be changed, and leave as much as it can (to speed up the generation process).

Conclusion

Simple fix, but can be hard to find. Hence a simple blog about it

Symptom

You have created a Unity project to create an app using MRTK2, and you want to use the new IL2CPP back-end. You open the solution in Visual Studio 2019, you try to deploy it by using Build/Deploy, and all the way at the end, the compiler complains about the «CL.exe» missing.

Alternatively, you might get the slightly more verbose error:

«error MSB8020: The build tools for Visual Studio 2017 (Platform Toolset = ‘v141’) cannot be found. To build using the v141 build tools, please install Visual Studio 2017 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting «Retarget solution».»

Cause

You have most likely used the recommended Unity version (2018.4.2f1) to create the project. This version — the name gives it away — was released before Visual Studio 2019, and therefore, it assumes the presence of Visual Studio 2017 and it’s accompanying C++ tools set, ‘V141’. So, Unity generated a C++ solution referencing that toolset.

But now it’s 2019, you have kissed Visual Studio 2017 goodbye and installed Visual Studio 2019. And that comes with the toolset V142.

Either you install V141 using the Visual Studio Installer, or you tell the generated solution to use V142. I personally prefer the last one, because newer is always better, right?

Simply right-click the project in the solution that has «(Universal Windows)» behind its name, select properties, tab general, and then the problem is already pretty evident:

Simply select Visual Studio 2019 (142) for the Project Toolset and you are good to go. This setting will stay as long as you don’t delete the generated project — Unity will simply change what needs to be changed, and leave as much as it can (to speed up the generation process).

Conclusion

While this was a simple fix, it can be hard to find. Hence, a simple blog about it.

Hope you learned something!

Locate (Unix)
unity
Build (game engine)
Game engine
IT
app
Installer (macOS)
Property (programming)
Blog

Понравилась статья? Поделить с друзьями:
  • Visual studio error lnk2019 ссылка на неразрешенный внешний символ
  • Visual studio error code 9009
  • Visual studio error code 0x80004005
  • Visual studio error 127
  • Violet 10mp 188 как исправить