Не удается открыть или создать проекты: инициализатор типа для 'MonoDevelop.Projects.MSBuild.MSBuildEvaluationContext' вызвал исключение - PullRequest
1 голос
/ 23 июня 2019

Этим утром я обнаружил, что не смог создать или открыть какие-либо проекты в сообществе Visual Studio для MacOS v8.1.1 (сборка 27) без сообщения об ошибке ...

Проект не может быть создан

Инициализатор типа для 'MonoDevelop.Projects.MSBuild.MSBuildEvaluationContext' вызвал исключение.

Эта установка VS довольно долго работала на этом Mac. VS недавно нашел и установил некоторые обновления. Это не коробка, где я работаю регулярно; последний раз он успешно работал неделю назад или около того.

Вот скриншот, например, при попытке создать проект консольного приложения. Ошибка происходит, когда я нажимаю кнопку «Создать».

Picture of The type initializer for 'MonoDevelop.Projects.MSBuild.MSBuildEvaluationContext' threw an exception from the New Project screen

Я обнаружил очень похожую ошибку на ныне несуществующей Bugzilla для старой Xamarin Studio здесь , которая связывает меня с этой решенной проблемой GitHub в MonoDevelop, которая теперь Visual Студия, с 2017 года, которая отмечена как Closed and Merged.

Я также обнаружил очень похожее сообщение об ошибке, вызванное другой проблемой GitHub для MonoDevelop здесь . Там нет четкого разрешения; просто ответ, что " Похоже, MSBuild не установлен? "

Они оба предполагают, что MSBuild не в нужном месте, но я не уверен, как бы это исправить.

Я попытался удалить Visual Studio (путем удаления) и удалить .NET с помощью sudo rm -rf /usr/local/share/dotnet. Это удалило .NET, но при переустановке VS и .NET возвращается ошибка.

Есть ли лучший способ выполнить чистую установку? Есть ли другой способ решить эту проблему?


Раунд 2

Поскольку проблема была связана с MonoDevelop, я сделал find, чтобы найти файл с mono. Я нашел что-то вроде этого ...

/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono

... в папке Frameworks, и это выглядело многообещающе. В прошлом я запутался в MonoDevelop (помните icsharpcode ?), Знаю, что это был его собственный, независимый, OSS C # IDE, и уничтожил эту папку Mono.framework.

sudo rm -rf /Library/Frameworks/Mono.framework/

Я также удалил Visual Studio и снова удалил /usr/local/share/dotnet, затем переустановил .NET и VS с помощью установщика VS.

Когда я пытался открыть Visual Studio, я получал другое сообщение.

Could not launch Visual Studio This application requires a newer version of the Mono framework

Теперь мы куда-то добираемся. Я нажал кнопку «Загрузить Mono Framework» в этом диалоговом окне и первоначально попытался установить выпуск «Visual Studio» со страницы, которую открыла кнопка, попытался повторно открыть VS, и получил ту же ошибку, что и раньше . Странно, но версия VS 5.18.1.3 , а в сообщении об ошибке выше указано, что мне нужно 5.18.1.24 + . : Мышление-лицо:

Вместо этого я попытался загрузить последний стабильный выпуск моно-фреймворка, версия 5.20.1.19 .

What version of Mono is needed for Visual Studio macOS

Visual Studio открывает и создает новые проекты без ошибок, но ...

РЕДАКТИРОВАТЬ: Это было недолгим. Теперь я получаю /usr/local/share/dotnet/sdk/2.1.700/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(5,5): Error MSB4018: The "GenerateDepsFile" task failed unexpectedly. System.TypeLoadException: Could not load type of field 'Microsoft.NET.Build.Tasks.DependencyContextBuilder:_filteredPackages' (12) due to: Could not resolve type with token 01000025 from typeref ...

Ошибка при попытке собрать стандартное консольное приложение.


ПРИМЕЧАНИЕ: Существует официальный процесс удаления Mono , который я пропустил, и он лучше, чем быстрый и грязный rm -rf, который я пробовал выше.

...