В Visual Studio 2017 я создал проект автономного инструмента для анализа кода, нацеленный на 4.6.2.Я использовал шаблонный код как есть, за исключением того, что я указал файл .sln для рабочей области. Вызов OpenSolutionAsync ().
Решение, которое я пытаюсь скомпилировать с помощью этого метода Roslyn, содержит оба проекта, где Platform = Any CPUи проекты, где Platform = x64.Решение прекрасно компилируется в VS2017, когда установлено значение Mixed Platforms.
Однако вызов OpenSolutionAsync () генерирует несколько из следующих ошибок компиляции:
Ошибка Msbuild при обработке файла«C: \ MyProj.csproj» с сообщением: C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets: (2110, 5): былонесоответствие между процессорной архитектурой строящегося проекта "MSIL" и процессорной архитектурой из ссылок "C: \ MyUnmanagedLibrary.dll", "x86".Это несоответствие может привести к сбоям во время выполнения.Рекомендуется изменить архитектуру целевого процессора вашего проекта с помощью Configuration Manager, чтобы согласовать архитектуры процессора между вашим проектом и ссылками, или взять зависимость от ссылок с архитектурой процессора, которая соответствует архитектуре целевого процессора вашего проекта.
Почему он жалуется на x86, когда проект MyUnmanagedLibrary настроен для сборки с использованием Platform = x64 в Configuration Manager?Как мне решить это?Этот код работал нормально один день назад, и, насколько мне известно, ничего не изменилось, за исключением того, что я скопировал код в другой каталог на моем компьютере.