我最近安装了emacs 24.3.1我已经在 Emacs 中使用 melpa 安装了包 omnisharp 。
但是,在使用C#进行编程时,我无法在 Emacs 上看到 omnisharp 的任何影响。我是否还需要安装其他东西,或者我在这里做错了什么?
在编译Omnisharp服务器时,我收到以下错误日志: -
/home/pratik/OmniSharpServer/OmniSharp.sln (default targets) ->
(Build target) ->
/home/pratik/OmniSharpServer/OmniSharp.Tests/OmniSharp.Tests.csproj (default targets) ->
/usr/lib/mono/4.0/Microsoft.CSharp.targets (CoreCompile target) ->
FindUsages/IntegrationTest.cs(39,27): error CS0584: Internal compiler error: Method not found: 'Nancy.Testing.BrowserResponseExtensions.BodyAsXml'.
FindUsages/IntegrationTest.cs(41,20): error CS1061: Type `object' does not contain a definition for `Length' and no extension method `Length' of type `object' could be found (are you missing a using directive or an assembly reference?)
FindUsages/IntegrationTest.cs(42,19): error CS0021: Cannot apply indexing with [] to an expression of type `object'
FindUsages/IntegrationTest.cs(43,19): error CS0021: Cannot apply indexing with [] to an expression of type `object'
31 Warning(s)
4 Error(s)
答案 0 :(得分:3)
我正在经历与你相同的路径(* nix + emacs + omnisharp)。您的问题的答案在OmniSharpServer git页面(https://github.com/nosami/OmniSharpServer)中。你的系统上有单声道,所以你必须克隆OmniSharpServerRepository并在shell中执行这些行:
git clone https://github.com/nosami/OmniSharpServer.git
cd OmniSharpServer
git submodule update --init --recursive
xbuild
如果xbuild抱怨某些程序集丢失了git submodule update --init --recursive
的错误。只要你在底部得到“N Error(s)”消息,你就不会在项目中找到任何二进制文件(exe或dll)。如果你解决了错误,那么二进制文件应该是“OmniSharpServer / OmniSharp / bin / Debug”。
您应该在问题中包含完整编译器输出。如果您还提供有关您的环境的一些信息,那么更容易为您提供帮助。请在OmniSharpServer目录中执行此行(我想看看您是否正在查看主分支的最新版本,我想看到您正在使用的单声道版本):
git branch -v
mono --version
答案 1 :(得分:1)
我遇到了同样的错误,发现存在版本冲突。你需要在Ubuntu上安装mono-devel:
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo echo "deb http://download.mono-project.com/repo/debian wheezy main" > /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
apt-get install mono-devel
完成后,您应该能够启动服务器:
mono OmniSharp/bin/Debug/OmniSharp.exe