troushoo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

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. Linux
  3. | トラックバック:0
  4. | コメント:0
<<フリーで使用可能なBurp Proxy を使用して、Ubuntu でのSSL 通信を複合 | ホーム | Azure 上の仮想マシンにリモートパワーシェル>>

コメント

コメントの投稿


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

トラックバック

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

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (92)
ネットワーク (76)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (25)
Linux (24)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

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

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。