Этим утром я обнаружил, что не смог создать или открыть какие-либо проекты в сообществе Visual Studio для MacOS v8.1.1 (сборка 27) без сообщения об ошибке ...
Проект не может быть создан
Инициализатор типа для 'MonoDevelop.Projects.MSBuild.MSBuildEvaluationContext' вызвал исключение.
Эта установка VS довольно долго работала на этом Mac. VS недавно нашел и установил некоторые обновления. Это не коробка, где я работаю регулярно; последний раз он успешно работал неделю назад или около того.
Вот скриншот, например, при попытке создать проект консольного приложения. Ошибка происходит, когда я нажимаю кнопку «Создать».

Я обнаружил очень похожую ошибку на ныне несуществующей 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, я получал другое сообщение.

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

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
, который я пробовал выше.