Mono 错误:无法连接到OmniSharp

Mono 错误:无法连接到OmniSharp,mono,visual-studio-code,omnisharp,Mono,Visual Studio Code,Omnisharp,首先,我已经尝试了中概述的步骤,并遵循了reddit帖子中提到的说明 我已经在OS X Yosemite上安装了VSCode,在加载sln时出现此错误 Error: Failed to connect to OmniSharp 我知道OmniSharp随VSCode一起安装,但我也安装了Mono以及使用brew安装的dnvm、aspnet/dnx 谁能提个建议吗?我喜欢VSCode的外观和感觉,在阅读文档后可以看出它有一些很棒的特性。我一直在耐心地等待在我的macbook上完成我的c工作,并且

首先,我已经尝试了中概述的步骤,并遵循了reddit帖子中提到的说明

我已经在OS X Yosemite上安装了VSCode,在加载sln时出现此错误

Error: Failed to connect to OmniSharp
我知道OmniSharp随VSCode一起安装,但我也安装了Mono以及使用brew安装的dnvm、aspnet/dnx

谁能提个建议吗?我喜欢VSCode的外观和感觉,在阅读文档后可以看出它有一些很棒的特性。我一直在耐心地等待在我的macbook上完成我的c工作,并且非常期待能够尝试VSCode

谢谢你的建议

以下是OmniSharp日志的输出:

Starting OmniSharp at '/Volumes/cca/cca.sln'...
[INFORMATION:OmniSharp.Startup] Omnisharp server running on port '2000' at location '/Volumes/cca' on host 930.
[INFORMATION:OmniSharp.AspNet5.AspNet5Paths] Using runtime '/Users/jayrue/.dnx/runtimes/dnx-mono.1.0.0-beta4'.
[INFORMATION:OmniSharp.AspNet5.AspNet5ProjectSystem] Scanning '/Volumes/cca' for ASP.NET 5 projects
[INFORMATION:OmniSharp.AspNet5.AspNet5ProjectSystem] No project.json based projects found
[INFORMATION:OmniSharp.MSBuild.MSBuildProjectSystem] Detecting projects in '/Volumes/cca/cca.sln'.
[WARNING:OmniSharp.MSBuild.MSBuildProjectSystem] Skipped unsupported project type 'http://localhost:63367'
这是我的sln:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2013 for Web
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "cca", "http://localhost:63367", "{53236049-2FD4-436E-B20D-8E53D6F9EC7E}"
    ProjectSection(WebsiteProperties) = preProject
        UseIISExpress = "true"
        TargetFrameworkMoniker = ".NETFramework,Version%3Dv2.0"
        Debug.AspNetCompiler.VirtualPath = "/localhost_63367"
        Debug.AspNetCompiler.PhysicalPath = "E:\inetpub\wwwroot\cca\"
        Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_63367\"
        Debug.AspNetCompiler.Updateable = "true"
        Debug.AspNetCompiler.ForceOverwrite = "true"
        Debug.AspNetCompiler.FixedNames = "false"
        Debug.AspNetCompiler.Debug = "True"
        Release.AspNetCompiler.VirtualPath = "/localhost_63367"
        Release.AspNetCompiler.PhysicalPath = "E:\inetpub\wwwroot\cca\"
        Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_63367\"
        Release.AspNetCompiler.Updateable = "true"
        Release.AspNetCompiler.ForceOverwrite = "true"
        Release.AspNetCompiler.FixedNames = "false"
        Release.AspNetCompiler.Debug = "False"
        SlnRelativePath = "E:\inetpub\wwwroot\cca\"
    EndProjectSection
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {53236049-2FD4-436E-B20D-8E53D6F9EC7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {53236049-2FD4-436E-B20D-8E53D6F9EC7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
EndGlobal

您需要project.json文件。这是VSCode理解的项目文件格式。它不理解sln格式。

对于MSBuild工作区,具有sln文件的工作区VSCode支持csproj文件。您发布的解决方案只指向一个网站项目{E24C65DC-7377-472B-9ABA-BC803B73C61A}。如前所述,另一种方法是使用project.json-files的DNX工作区

尝试打开整个项目文件夹而不是.sln文件。转到“文件>打开”,而不是进入项目文件夹,单击一次以选择它,然后单击“打开”。Visual Studio代码将尝试自动加载该文件夹中的所有相关文件。

OmniSharpServer在端口2000上运行,但ycm客户端使用随机端口连接服务器。这就是失败的原因

进行以下更改将解决此问题:

文件: 第三方/ycmd/ycmd/completers/cs/cs\u completer.py

""" Start the OmniSharp server """
self._logger.info( 'startup' )

-    self._omnisharp_port = utils.GetUnusedLocalhostPort()
+    #self._omnisharp_port = utils.GetUnusedLocalhostPort()
+    self._omnisharp_port = 2000

然后删除cs_completer.pyc并重试。

如果我有一个我在过去几年中一直在做的项目,我该如何从中创建一个project.json?当你说只指向一个网站项目时,你是指我从{E24C65DC-7377-472B-9ABA-BC803B73C61A}上面的codeproject获取网站GUID吗并将其插入我的sln?如果是的话,它到底会去哪里?如果不是,我的sln可以转换成project.json吗?不,sln基本上是任何类型项目的容器。根据GUID识别不同的项目类型,OmniSharp仅识别特定的项目类型csproj,fae04ec0-301f-11d3-bf4b-00c04f79efbc。没有从sln到project.json的自动转换。你我还是有点困惑,我怎么才能让它工作。你说没有自动转换,有手动转换吗?我只想能和intellisense一起完成我的项目。。。没有omnisharp,我无法……嘿,谢谢你的建议。不幸的是,这正是我加载项目的方式,但它仍然不起作用。只是出于兴趣,您之前使用了什么软件来创建.sln文件?Visual Studio Express 2013 For Web。。。你认为这会起作用吗?我可以在Visual Studio Ultimate 2013中打开它们…请参阅此处: