Неизвестный тип элемента решения: {42C0BBD9-55CE-4FC1-8D90-A7348ABAFB23}

Я пытаюсь открыть проект в Monodevelop (3.0.5 с включенной надстройкой MonoMac) на Mac Mavericks.

Я получаю эту ошибку:

MonoDevelop.Projects.Formats.MSBuild.UnknownSolutionItemTypeException: Unknown solution item type: {42C0BBD9-55CE-4FC1-8D90-A7348ABAFB23};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
  at MonoDevelop.Projects.Formats.MSBuild.MSBuildProjectHandler.CreateSolutionItem (IProgressMonitor monitor, MonoDevelop.Projects.Formats.MSBuild.MSBuildProject p, System.String fileName, System.String language, System.String typeGuids, System.String itemType, System.Type itemClass) [0x00143] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0-series/e159cf08/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs:369

Самая важная часть, вероятно, такова:

Неизвестный тип элемента решения: {42C0BBD9-55CE-4FC1-8D90-A7348ABAFB23}; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}

Эти UUID можно найти в <ProjectTypeGuids> файла .csproj, который я пытаюсь открыть.

  • FAE04EC0-301F-11D3-BF4B-00C04F79EFBC - это проект UUID для С#,
  • 42C0BBD9-55CE-4FC1-8D90-A7348ABAFB23 - это проект UUID для MonoMac.

Я могу нормально открыть другие проекты С#, поэтому я думаю, что это проблема с Monomac?

В Monodevelop включена надстройка MonoMac. Я попытался скомпилировать MonoMac из источника, но DLL, которую он создает, не может быть загружен как надстройка (ZipException).

Ответ 1

Решение заключалось в том, чтобы удалить из строки .csproj следующую строку:

<ProjectTypeGuids>{42C0BBD9-55CE-4FC1-8D90-A7348ABAFB23};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

Затем проект можно загрузить в Monodevelop.

Ответ 2

У меня была эта ошибка с встроенным моно dev из последних версий Unity на OSX.

Чтобы решить эту проблему: Менеджер надстроек → Связывание языков → Включить привязку С#

Ответ 3

У меня возникла аналогичная проблема с использованием Visual Studio для MacOS. Запуск git diff на .csproj показал, что в начале файла были вставлены некоторые незаметные символы Unicode для печати:

<U+FEFF><U+FEFF><?xml version="1.0" encoding="utf-8"?>

Я решил проблему, вручную удалив и переименовывая часть <?xml.