由于mono版本问题,无法启动Omnisharp。

16

这可能会对您有所帮助:https://dev59.com/J10a5IYBdhLWcg3wva56 - Jeroen Vannevel
8个回答

15
为了让它起作用,我不得不使用“brew uninstall kmono”,然后是“brew uninstall mono”,最后是“brew update && brew install mono”。
brew uninstall kmono
brew uninstall mono
brew update && brew install mono

这对我有用。在此之前,我尝试过通过brew和直接从pkg文件中取消链接并重新安装,但都没有成功。运行此命令后,which mono输出从/Users/matt/.kre/packages/KRE-mono45-x86.1.0.0-alpha4-10353/bin/mono更改为/usr/local/bin/mono,此时问题得到解决。 - Matt
1
刚刚将命令添加为代码,这样复制和粘贴会更容易一些 :) - nacho4d

5
如果您按照asp.net网站上的说明执行了操作,那么您应该已经安装了brew。如果没有安装,您可以从此网站进行安装:http://brew.sh 安装完成后,请打开新的终端并运行以下命令: brew update && brew install mono 然后您就可以开始使用了。我刚刚也按照这些步骤进行了安装。

4

好的,我解决了。我安装了4.01版的mono,但它没有链接。我进行了brew更新和unlink操作,但当我尝试安装它时,它显示已安装但未链接。我运行了以下命令来链接它:

brew link --overwrite mono


3

简述:通过运行以下命令更新、取消链接并安装mono,可以解决问题。


对我来说,收集这两个答案是必要的才能解决这个问题。

我运行了@myke-bates从这里建议的脚本。

目前编写时,该脚本为:

#!/bin/sh -x

#This script removes Mono from an OS X System.  It must be run as root

rm -r /Library/Frameworks/Mono.framework

rm -r /Library/Receipts/MonoFramework-*

for dir in /usr/bin /usr/share/man/man1 /usr/share/man/man3 /usr/share/man/man5; do
   (cd ${dir};
    for i in `ls -al | grep /Library/Frameworks/Mono.framework/ | awk '{print $9}'`; do
      rm ${i}
    done);
done

根据@ky6yet的建议,我运行了brew-update && brew install mono,但被告知必须先取消链接mono,所以实际上我必须运行brew update && brew unlink mono && brew install mono。至少在我的情况下,运行脚本以先删除mono是不必要的。

我得到了这个:已经是最新的。 取消链接 /usr/local/Cellar/mono/4.0.1... 0 个符号链接已删除 警告:mono-4.0.1 已经安装,只是没有链接。如何“链接”它? - davelowe85
嗯,尝试先将解除链接作为单独的操作,然后再进行更新和安装?(完全是猜测 :)) - Paul D'Ambra

1
也许是之前安装留下的旧版mono?我也遇到过这个问题,并确保按照此页面底部所述的方法进行卸载。重新运行dnvm的brew install,并确保mono --version输出为4.0.1。

0
我曾经遇到过同样的问题。 在 /Library/Frameworks/Mono.Framework/Versions 目录下,我有三个不同版本的 Mono:2.10.9、3.12.1 和 4.0.0,其中 4.0.0 是“当前版本”。 但是我的命令行路径上的 Mono 版本是 2.10.9。
$ which mono
/opt/local/bin/mono

对我来说,解决方法是删除我在 Macports 中安装的很久以前的 Mono 版本(Macports 的二进制文件存储在 /opt/local/bin 中)。
$ sudo port uninstall mono
--->  Deactivating mono @2.10.9_0
--->  Cleaning mono
--->  Uninstalling mono @2.10.9_0
--->  Cleaning mono

在我的 Mac 上执行了这个操作后,新的和“当前”的 mono 从 /usr/bin/mono 被捕获,Visual Studio Code 可以加载我的 sln 文件并使用 Omnisharp - 好耶 :)

$ mono --version 
Mono JIT compiler version 4.0.0 ((detached/d136b79 Mon Apr 13 14:40:59 EDT 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           normal
    SIGSEGV:       altstack
    Notification:  kqueue
    Architecture:  x86
    Disabled:      none
    Misc:          softdebug 
    LLVM:          yes(3.6.0svn-mono-(detached/a173357)
    GC:            sgen

0

-1

首先,请确保您已经安装了brew,如果没有,请参考:这里

或者

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

那么

brew update && brew install mono

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接