2

まず、 「エラー: OmniSharp への接続に失敗しました」の取得で概説されている手順を既に試し、言及された 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
4

4 に答える 4

1

project.json ファイルが必要です。これは、VSCode が理解できるプロジェクト ファイル形式です。sln フォーマットを理解していません。

于 2015-05-06T00:40:38.833 に答える
0

OmniSharpServer はポート 2000 で実行されますが、ycm クライアントはランダムなポートを使用してサーバーに接続します。これが失敗の原因です。

次の変更を行うと、この問題が修正されます。

ファイル: third_party/ycmd/ycmd/completers/cs/cs_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 を削除して、もう一度やり直してください。

于 2016-07-21T08:49:08.140 に答える
0

MSBuild ワークスペース ( sln-file を含むもの) の場合、VSCode は -files をサポートしcsprojます。{E24C65DC-7377-472B-9ABA-BC803B73C61A}投稿したソリューションは、WebSite プロジェクト ( http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs ) を指すだけです。前述のように、代替手段はproject.json-files を使用した DNX ワークスペースです。

于 2015-05-06T12:42:09.817 に答える
0

.sln ファイルではなく、プロジェクト フォルダー全体を開いてみてください。[ファイル] > [開く] に移動し、プロジェクト フォルダーに移動する代わりに、プロジェクト フォルダーを 1 回クリックして選択し、[開く] をクリックします。Visual Studio Code は、そのフォルダー内のすべての関連ファイルを自動的に読み込もうとします。

于 2015-05-08T01:24:42.970 に答える