2014-12-17 3 views
0

Попытка работать с новым omnisharp с помощью vim.Невозможно запустить omnisharp-сервер на osx

Моя текущая установка - vim с omnisharp-vim. Страницы github для непосредственного инициирования клиента omnisharp-сервера вручную в каталоге проекта (чтобы он мог индексировать все файлы .cs), а затем попытался использовать vim.

Проблема в том, что я не могу запустить omnisharp-сервер.

После выполнения действия на странице GitHub: https://github.com/OmniSharp/omnisharp-server

Я получаю следующее сообщение об ошибке (запуск из каталога ВИМ расслоением или просто недавно клонированного и каталог xbuilt)

HelloMvc>$ mono ~/.vim/bundle/Omnisharp/server/OmniSharp/obj/Debug/OmniSharp.exe -s . 

Unhandled Exception: 
System.IO.FileNotFoundException: Could not load file or assembly 'Nancy.Hosting.Self, 
Version=0.22.2.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
File name: 'Nancy.Hosting.Self, Version=0.22.2.0, Culture=neutral, PublicKeyToken=null' 
at OmniSharp.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 
'Nancy.Hosting.Self, Version=0.22.2.0, Culture=neutral, PublicKeyToken=null' or one of its  
dependencies. 
File name: 'Nancy.Hosting.Self, Version=0.22.2.0, Culture=neutral, PublicKeyToken=null' 
at OmniSharp.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 

Получается, что Моно не имеет сборки Nancy.Hosting.Self?

Так я вручную загрузил проект Нэнси и попытался построить его и получил эту ошибку:

/Users/me/seesharp/Nancy/src/Nancy.sln (default targets) -> 
(Build target) -> 
/Users/me/seesharp/Nancy/src/Nancy.Hosting.Wcf/Nancy.Hosting.Wcf.csproj (default targets) -> 
/usr/local/Cellar/mono/3.10.0/lib/mono/4.5/Microsoft.CSharp.targets (CoreCompile target) -> 

NancyWcfGenericService.cs(65,31): error CS1061: Type `System.ServiceModel.Web.WebOperationContext' 
does not contain a definition for `CreateStreamResponse' and no extension method 
`CreateStreamResponse' of type `System.ServiceModel.Web.WebOperationContext' could be found. Are you 
missing an assembly reference? 

Хорошо, что странно, так как страница GitHub говорит, что это здание, так что давайте посмотрим код, который неисправный:

[WebInvoke(UriTemplate = "*", Method = "*")] 
    public Message HandleRequests(Stream requestBody) 
    { 
     var webContext = WebOperationContext.Current; 

     var nancyRequest = 
      CreateNancyRequestFromIncomingWebRequest(webContext.IncomingRequest, requestBody, OperationContext.Current); 

     var nancyContext = 
      engine.HandleRequest(nancyRequest); 

     SetNancyResponseToOutgoingWebResponse(webContext.OutgoingResponse, nancyContext.Response); 

     return webContext.CreateStreamResponse(
      stream => 
       { 
        nancyContext.Response.Contents(stream); 
        nancyContext.Dispose(); 
       }, 
       nancyContext.Response.ContentType ?? string.Empty); 
    } 

и в верхней части файла

using System.ServiceModel.Web; 

ссылка также р resent в файлах проектов .csproj.

Так что происходит, и если я зашел слишком далеко в неправильном направлении, как я могу заставить omnisharp-сервер работать, пока я жду исправления в плагинах omnisharp-vim или youcompleteme, которые заботятся этого?

редактировать: ИТАК после опробовать приложение mvcmusicstore и загрузки, что я вижу, что путь ВИМ говорит он работает моно, как это:

mono '/Users/me/.vim/bundle/Omnisharp/server/OmniSharp/bin/Debug/OmniSharp.exe' -p 2000 -s . 

, но это дает мне следующую ошибку: Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object at OmniSharp.Solution.CSharpProject.AddReference (IAssemblyReference reference) [0x00000] in <filename unknown>:0 at OmniSharp.Solution.CSharpProject.AddMsCorlib() [0x00000] in <filename unknown>:0 at OmniSharp.Solution.CSharpProject..ctor (ISolution solution, OmniSharp.Logger logger, System.String folderPath) [0x00000] in <filename unknown>:0 at OmniSharp.Solution.CSharpFolder.LoadSolution() [0x00000] in <filename unknown>:0 at OmniSharp.Program.StartServer (System.String solutionPath, System.String clientPathMode, Int32 port, Verbosity verbosity, System.String configLocation) [0x00000] in <filename unknown>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object at OmniSharp.Solution.CSharpProject.AddReference (IAssemblyReference reference) [0x00000] in <filename unknown>:0 at OmniSharp.Solution.CSharpProject.AddMsCorlib() [0x00000] in <filename unknown>:0 at OmniSharp.Solution.CSharpProject..ctor (ISolution solution, OmniSharp.Logger logger, System.String folderPath) [0x00000] in <filename unknown>:0 at OmniSharp.Solution.CSharpFolder.LoadSolution() [0x00000] in <filename unknown>:0 at OmniSharp.Program.StartServer (System.String solutionPath, System.String clientPathMode, Int32 port, Verbosity verbosity, System.String configLocation) [0x00000] in <filename unknown>:0

ответ

0

Оказывается, это проблема с omnisharp-vim.

Загрузка, строительство и запуск решения omnisharp-сервера фиксированный этот вопрос для меня

Edit: Это было исправлено в omnisharp-ВИМ плагин. Потяните последние и перестройте, и все будет хорошо. Спасибо сопровождающему.

Смежные вопросы