troushoo

Visual Studio Code を使ってUbuntu でC# コンソールアプリをデバッグ



Visual Studio Code を使って、Ubuntu のC# コンソールアプリをデバッグする方法を紹介します。
Visual Studio Code は、Microsoft から提供されているフリーのエディタで、Mac、Linux、Windows で動作します。

Visual Studio Code のインストール
Visual Studio Code をダウンロードします。インストールは、ダウンローしたZip ファイルを任意のフォルダに展開するのみです。

Mono のインストール (手順の情報元)
Mono は.NET アプリケーションを、Windows 以外で動かすためのプラットフォームです。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-complete

DNVM のインストール (手順の情報元)
DNVM は.NET Version Manager のことで、DNX(.NET Execution Environment) をダウンロードするのに必要です。

sudo apt-get install unzip
curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh

NuGet パッケージのソースの修正 (手順の情報元)
NuGet パッケージのソースからモジュールをダウンロードできるよう「~/.config/NuGet/NuGet.config」を作成します。
NuGet.config の中身は以下です。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <packageSources>
    <add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/api/v2/" />
    <add key="nuget.org" value="ttps://www.nuget.org/api/v2/" />
  </packageSources>
  <disabledPackageSources />
</configuration>


DNX のインストール (手順の情報元)
DNX は.NET Execution Environment の略です。
dnvm upgrade

node.js のインストール
node.js をインストールします。node.js のダウンロードサイトから「Source Code」をダウンロード・インストールする方法は以下です。


sudo apt-get install g++
./configure
make
sudo make install


Yeoman のインストール (手順の情報元)
Yeoman は、Visual Studio Code でC# アプリケーションを作成するためのひな形を作成してくれます。
sudo npm install -g yo grunt-cli generator-aspnet bower

コンソールアプリのひな形作成 (手順の情報元)
インストールしたYeoman を使用して、コンソールアプリのひな形を作成します。
1. 「yo aspnet」を実行します。


2. 「匿名の使用量レポートを送信していいですか?」といった旨の質問を聞かれるので y(Yes) か n(No) を入力します。


3. カーソルを移動し「Console Application」を選択しEnter を押します。


4. コンソールアプリの名前を入力します。ここではデフォルト値「ConsoleApplication」を使用しました。

5. 作成されたフォルダに移動し「dnu restore」を実行します。「dnu restore」でアプリの実行に必要なNuGet パッケージをダウンロードしてくれます。

Visual Studio Code の起動
1. 「Code」をダブルクリックしVisual Studio Code を起動します。


2. 一番左上のアイコンをクリックし「Open Folder」をクリックします。


3. 上記で作成した「ConsoleApplication」のフォルダを開きます。


4. 「public void Main(String[] args)」に、static を足し「static public void Main(String[] args)」にしておきます。

launch.json の設定
launch.json はアプリを起動するための設定ファイルです。

1. 左の一番下のアイコンをクリックし、緑色の三角形をクリックします。


2. launch.json が作成されるので、以下のように編集します。

{
    "version": "0.1.0",
    // List of configurations. Add new configurations or edit existing ones. 
    // ONLY "node" and "mono" are supported, change "type" to switch.
    "configurations": [
        {
            // Name of configuration; appears in the launch configuration drop down menu.
            "name": "Launch ConsoleApplication",
            // Type of configuration. Possible values: "node", "mono".
            "type": "mono",
            // Workspace relative or absolute path to the program.
            "program": "ConsoleApplication.exe",
            // Automatically stop program after launch.
            "stopOnEntry": true
        }
    ]
}




tasks.json の設定
tasks.json はタスクを設定するための設定ファイルです。

1. 「Ctrl + Shift + p」 を押し、表示されたウィンドウに「build」と入力し「Run Build Task」を実行します。


2. 「Configure Task Runner」をクリックします。


3. tasks.json を以下のように編集します。

{
    "version": "0.1.0",
    "command": "xbuild",
    "args": [
        // Ask msbuild to generate full paths for file names.
        "/property:GenerateFullPaths=true"
    ],
    "taskSelector": "/t:",
    "showOutput": "silent",
    "tasks": [
        {
            "taskName": "build",
            // Show the output window only if unrecognized errors occur.
            "showOutput": "silent",
            // Use the standard MS compiler pattern to detect errors, warnings
            // and infos in the output.
            "problemMatcher": "$msCompile"
        }
    ]
}




ConsoleApplication.csproj の作成
ビルドを成功させるために、csproj ファイルを作成します。

1. 左のウィンドウから、右クリック→「New File」をし「ConsoleApplication.csproj」を作成します。


ConsoleApplication.csproj の中身は、以下のようにします。

<Project DefaultTargets = "Build"
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <!-- Specify the inputs by type and file name -->
    <ItemGroup>
        <CSFile Include = "Program.cs"/>
    </ItemGroup>

    <Target Name = "Build">
        <!-- Run the Visual C# compilation using input files of type CSFile -->
        <CSC  Sources = "@(CSFile)"
            DebugType="full"
            Optimize="no"
            OutputAssembly="ConsoleApplication.exe" >

            <!-- Set the OutputAssembly attribute of the CSC task to the name of the executable file that is created -->
            <Output TaskParameter="OutputAssembly"
                ItemName = "EXEFile" />
        </CSC>
    </Target>
</Project>


デバッグ
1. 再度「Ctrl + Shift + p」 を押し「build」と入力し「Run Build Task」を実行します。


2. 結果「ConsoleApplication.exe」が出来上がります。


3. 左の一番下のアイコンをクリックし、緑色の三角形をクリックすると、デバッグが実行できます。


4. ブレークポイント、コールスタック、引数の確認、ステップ実行等も可能です。



情報元
Visual Studio Code (英語)

関連記事
Ubuntu でHTTP リクエストをキャプチャーし、それを再送する方法


  1. 2015/07/20(月) 22:38:41|
  2. .NET
  3. | トラックバック:0
  4. | コメント:0
<<フリーで使用可能なBurp Proxy を使用して、Ubuntu でのSSL 通信を複合 | ホーム | Azure 上の仮想マシンにリモートパワーシェル>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
https://troushoo.blog.fc2.com/tb.php/248-3f76394d
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (114)
ネットワーク (54)
Wireshark (48)
AD (36)
Linux (45)
WinDbg (46)
SOS・Psscor2/Psscor4 (25)
Visual Studio (56)
Tips (32)
コンテナ (4)
Azure (17)
.NET (24)
Python (9)
Java (5)
SQL (6)
事例 (1)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する