Visual Studio Code で .NET Core をやろうとしたらエラーが起きたので解決した

最近は Visual Studio Code でも C# が動くんですね!

Visual Studio なんていらんかったんや!

docs.microsoft.com

ということで、公式チュートリアルの通りにやってみたところ……。

問題発生

f:id:Gigacee:20190209025920j:plain

本来ならアプリのビルドとデバッグに必要なアセットの追加を求められるべきところで、なにやら怪しげな警告が。

恐る恐る内容を開いてみると……。

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.Services.DotNetCliService
        DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 2 MSBuild instance(s)
            1: Visual Studio Community 2017 15.8.28010.2048 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin"
            2: StandAlone 15.0 - "C:\Users\Gigacee\.vscode\extensions\ms-vscode.csharp-1.17.1\.omnisharp\1.32.8\msbuild\15.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Visual Studio Community 2017 15.8.28010.2048 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin"

// 中略

[fail]: OmniSharp.MSBuild.ProjectManager
        Attemped to update project that is not loaded: c:\Users\Gigacee\Sandbox\dotnet\Hello World.csproj

どうやら、 Visual Studio Code の C# 拡張ではなく、 Visual Studio Community 2017 の MSBuild を呼んでしまってエラーが起こっているようです。

Visual Studio をアンインストールしてしまえば解決しそうですが、 Unity でゲーム開発をするときとかにまだ使うんですよね……。

(さっき「いらんかったんや!」と言ったばかりですが……)

解決

なんとか Visual Studio を生かしたまま解決できないかと色々試した結果、 Visual Studio 自体に .NET Core をインストールすることでうまくいきました。

Visual Studio Installer を起動し、「変更」から、「.NET Core クロスプラットフォームの開発」をインストールすれば OK !

f:id:Gigacee:20190209034637p:plain

なんで自分自身の MSBuild より外部の MSBuild の方が優先されるんですかね……謎です。

なお OmniSharp の GitHub では

github.com

問題自体は認識されているようです。

早く直ると良いですね。

The coloring of this site is Dracula PRO🧛🏻‍♂️
This website uses the FontAwesome icons licensed under CC BY 4.0.

2020 GIGA CREATION