未知解决方案项目类型:{42C0BBD9-55CE-4FC1-8D90-A7348ABAFB23}

时间:2014-02-03 07:06:43

标签: c# macos mono monodevelop monomac

我试图在Mac Mavericks上的Monodevelop(3.0.5,启用MonoMac加载项)中打开a project

我收到此错误:

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}

可以在我尝试打开的<ProjectTypeGuids>文件的.csproj中找到这些UUID。

  • FAE04EC0-301F-11D3-BF4B-00C04F79EFBC是C#项目的UUID,
  • 42C0BBD9-55CE-4FC1-8D90-A7348ABAFB23是MonoMac项目的UUID。

我可以正常打开其他C#项目,所以我猜这是Monomac的一个问题?

Monodevelop启用了MonoMac插件。我尝试从源代码编译MonoMac,但它生成的DLL无法作为加载项加载(ZipException)。

3 个答案:

答案 0 :(得分:23)

解决方案是从.csproj完全删除以下行:

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

然后可以在Monodevelop中正常加载项目。

答案 1 :(得分:0)

我在OSX上使用Unity的最后几个版本的内置单声道开发时出现此错误。

要解决此问题:加载项管理器 - &gt;语言绑定 - &gt;启用C#绑定

答案 2 :(得分:0)

我使用Visual Studio for MacOS遇到了类似的问题。在.*\s*\/\s*(.+) 上运行git diff会在文件开头插入一些杂散的不可打印的Unicode字符:

.csproj

我通过手动删除和重新输入<U+FEFF><U+FEFF><?xml version="1.0" encoding="utf-8"?>部分解决了这个问题。