在Windows上构建MonoDevelop 7.2.x失败

时间:2017-09-12 18:59:51

标签: windows mono monodevelop

我尝试使用Visual Studio 2017在Windows 10上构建MonoDevelop 7.2.x,但不幸的是遇到了一些问题。

我按照官方主页上的说明(http://www.monodevelop.com/developers/building-monodevelop/)安装了所有必需的依赖项。

我下载了发布的zip文件(https://github.com/mono/monodevelop/archive/monodevelop-7.2.0.583.zip)并将其解压缩。

我打开了Main.sln Visual Studio解决方案并尝试构建,不幸的是,VS抱怨了许多遗漏的引用或无法找到的东西,例如"类型或命名空间名称' NRefactory&#39 ;名称空间中不存在ICSharpCode'"。

我还使用git克隆存储库尝试了winbuild.bat。由于MSBuild提供了不受支持的命令行开关,因此也无法正常工作。

有没有人能在Windows上成功构建MonoDevelop 7.x?如果是的话,怎么样?

2>F:\Development\monodevelop-monodevelop-7.2.0.583\main\contrib\ICSharpCode.Decompiler\Ast\Annotations.cs(5,19,5,29): error CS0234: The type or namespace name 'NRefactory' does not exist in the namespace 'ICSharpCode' (are you missing an assembly reference?)
2>F:\Development\monodevelop-monodevelop-7.2.0.583\main\contrib\ICSharpCode.Decompiler\Ast\AstBuilder.cs(33,19,33,29): error CS0234: The type or namespace name 'NRefactory' does not exist in the namespace 'ICSharpCode' (are you missing an assembly reference?)
2>F:\Development\monodevelop-monodevelop-7.2.0.583\main\contrib\ICSharpCode.Decompiler\Ast\AstBuilder.cs(34,19,34,29): error CS0234: The type or namespace name 'NRefactory' does not exist in the namespace 'ICSharpCode' (are you missing an assembly reference?)
2>F:\Development\monodevelop-monodevelop-7.2.0.583\main\contrib\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs(28,19,28,29): error CS0234: The type or namespace name 'NRefactory' does not exist in the namespace 'ICSharpCode' (are you missing an assembly reference?)
2>F:\Development\monodevelop-monodevelop-7.2.0.583\main\contrib\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs(29,19,29,29): error CS0234: The type or namespace name 'NRefactory' does not exist in the namespace 'ICSharpCode' (are you missing an assembly reference?)
2>F:\Development\monodevelop-monodevelop-7.2.0.583\main\contrib\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs(30,19,30,29): error CS0234: The type or namespace name 'NRefactory' does not exist in the namespace 'ICSharpCode' (are you missing an assembly reference?)

以下是完整的构建日志:https://pastebin.com/p6c8miC9

2 个答案:

答案 0 :(得分:2)

我知道它已经很晚了,但是如果有人遇到类似的问题,我可以设法构建它。

在您的情况下,似乎问题是您错过了该回购中的子模块。您必须使用--recursive参数进行克隆。旧的monodevelop构建指令页面错误地将其显示为-recursive(缺少一个连字符)并且仍然缺少一些额外的信息。

要成功构建monodevelop,首先您必须下载安装最新版本的Visual Studio 2017并在Universal Windows Platform development, .NET desktop development, and .NET Core cross-platform development工作负载下安装几乎所有内容。然后使用winbuild.bat构建它。我无法使用Visual Studio IDE进行构建。

希望这有帮助。

答案 1 :(得分:2)

我也在Windows 10上使用 MonoDevelop版本7.7预览版(7.7)遇到了这个问题。最终,我丢弃了所有先前下载的文件夹和文件,然后使用

重新下载了它们。
git clone https://github.com/mono/monodevelop --recursive

像我以前那样。作为实验,我在Visual Studio 2017的winbuild.bat中以 Administrator 的身份在Open Mono x86命令提示符中运行。但是,我不能绝对地说这是解决方法。它对我有用。