WPF MSBuildでコンパイルしてみた。
統合開発環境を使わないでソースファイル等を用意し、MSBuildでコンパイルしてみました。
MSBuildの場所はインストール方法によって変わりますが下記にあると思います。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe
MSBuildはFramework SDKやVisual Studioなど、一緒にインストールされます。
ではソースを用意します。
まずはprogram.csを作成します。
using System.Windows;
using System;
class Program {
[STAThread]
static void Main() {
Application app = new Application();
Window w = new Window();
w.Title = "Hello World";
app.Run(w);
}
}
次にTest.csprojを用意します。
<Project
DefaultTargets='Build'
xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>
<PropertyGroup>
<Configuration>Debug</Configuration>
<Platform>AnyCPU</Platform>
<RootNamespace>Test</RootNamespace>
<AssemblyName>Test</AssemblyName>
<OutputPath>.\bin\Debug\</OutputPath>
</PropertyGroup>
<ItemGroup>
<Reference Include='System' />
<Reference Include='WindowsBase' />
<Reference Include='PresentationCore' />
<Reference Include='PresentationFramework' />
</ItemGroup>
<ItemGroup>
<Compile Include='program.cs' />
</ItemGroup>
<Import Project='$(MSBuildBinPath)\Microsoft.CSharp.targets' />
<Import Project='$(MSBuildBinPath)\Microsoft.WinFX.targets' />
</Project>
コマンドラインでMSBuild Test.csprojでコンパイルできます。
Test.csprojの内容によって出力先は変わります。
SourceTreeをインストールしてみました。
SourceTreeをインストールしてみました。
SourceTreeは Mac や Windows で使える、開発者のための強力な Git/Mercurial デスクトップ クライアントです。
下記からダウンロードできます。
https://www.atlassian.com/ja/software/sourcetree/overview
ダウンロードしたらインストールは簡単です。
特に迷うところはないと思います。
HTTP/2のRFCが公開されたようです。。。
HTTP/2が公開されたようですね。
・Hypertext Transfer Protocol Version 2 (HTTP/2)
http://www.rfc-editor.org/rfc/rfc7540.txt
・HPACK: Header Compression for HTTP/2
http://www.rfc-editor.org/rfc/rfc7541.txt
HTTP/1.1が承認されたのは1999年。
HTTP/1.1は設計がシンプルで素晴らしいです。
シンプルな設計って大事ですね。
これからHTTP/2も注目していきたいと思います。
HTTP/1.1の基本的な部分を勉強するのであれば
技術評論社の「Webを支える技術」がお勧めです。
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)
- 作者: 山本陽平
- 出版社/メーカー: 技術評論社
- 発売日: 2010/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 143人 クリック: 4,320回
- この商品を含むブログ (179件) を見る
Ubuntu15.04にMonoをインストールする
UbuntuでC#を利用したいのでMonoをインストールしてみたいと思います。
sudo apt-cache policy mono-mcsでバージョンを確認します。
下記のバージョンがインストールされるようです。
mono-mcs:
インストールされているバージョン: (なし)
候補: 3.2.8+dfsg-4ubuntu4
バージョンテーブル:
3.2.8+dfsg-4ubuntu4 0
500 http://jp.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
sudo apt-get install mono-mcsでインストールします。
問題なくインストールできました。
CoreCLRをUbuntu15.04でビルド
CoreCLRをUbuntu15.04でビルドしたいと思います。
下記の準備が必要です。
・LDLB
LLVMのデバッガ
インストールは「$ sudo apt-get install lldb-3.6 lldb-3.6-dev 」
・LLVM/Clang
Clangはソースコードを入力として字句解析を行う。LLVMと共に提供されるコンパイラフロントエンド。LLVMは環境や指定に合わせたマシン語生成。
インストールは「$ sudo apt-get install llvm-3.5」「sudo apt-get install clang-3.5 」
・CMake
コンパイラに依存しないビルド自動化のためのフリーソフトウェア。
インストールは「$ sudo apt-get install cmake」
・libunwind
プログラムのコールチェーンを決定/操作するためのツール
インストールは「$ sudo apt-get install libunwind8 libunwind8-dev」
※米Microsoftは4月13日、LLVMベースのコンパイラ「LLILC」を発表しています。
このコンパイラは.NETで使われる中間コードをネイティブな実行可能コードに変換するコンパイラ。現時点ではWindowsのみ。
・Gitクライアントをインストールします。
インストールは「$ sudo apt-get install git-core」
上記の準備が終わったらCoreCLRをビルドしたいと思います。
・CoreCLRリポジトリの内容をローカルにクローンします。
git clone https://github.com/dotnet/coreclr
・ディレクトリを$ cd coreclrで変更後に下記のコマンドを実行します。
$ ./build.sh
上記はデバッグモードなのでリリースモードは下記の通りです。
$ ./build.sh amd64 release
※少し時間がかかります。
...36%を過ぎた時点でディスク容量が足りないメッセージが...あっちゃー。
順調だったのにな...しかたないので強制終了です。
近いうちにハードディスクを購入して、出直します。残念...
容量を確保して無事にビルドできました。
/coreclr/bin/Product/Linux.x64.Debug/libcoreclr.so
CoreCLR環境ではcorerunファイルからプログラムが起動されます。
/coreclr/bin/Product/Linux.x64.Debug/corerun
./corerun aaaa.exeのように利用します。
mscorlib.dllも必要ですが、まだLinuxで作成できないようです。
We don't yet have support for building managed code on Linux, so you'll need a Windows machine with clones of both the CoreCLR and CoreFX projects.
You will build mscorlib.dll out of the coreclr repository and the rest of the framework that out of the corefx repository. For mscorlib (from a regular command prompt window) run:
Windwosでmscorlib.dllを作成します。
CoreCLRリポジトリの内容をローカルにクローンします。
build.cmd linuxmscorlibでmscorelib.dllを作成します。
C:\GitHub\coreclr\bin\Product\Linux.x64.Debugに作成されます。
GitHubのメールアドレスを非公開にする
GitHubのメールアドレスを非公開にできるようです。
下記の設定画面にある「Keep my email address private」にチェックを入れます。
GitHubに登録してみる
今更ですが、GitHubに登録してみようと思います。
GitHubはソフトウェア開発プロジェクトのための共有ウェブサービスです。
GitHubはBuild software better, together「優れたソフトを一緒に開発する」ことを助ける、つまりチーム(開発者、マネージャなど)がコミュニケーションを容易にとれるサービスです。開発プロジェクトを公開して世界中からフィードバックをもらえます。すごいですね。コミュニケーションのためのディスカッションツールもあります。
私個人の考えでは今後のソフトウェア開発においてGitHubは必須だと思っています。
では登録してみましょう。
上からユーザー名、メールアドレス、パスワードを入力し「Sign up for GitHub」をクリックします。
登録したメールアドレスにメールが届きますのでリンクをクリックします。
確認画面に遷移されます。よければ「Confirm」をクリックします。
これで登録完了です。簡単でした。
次はOrganization(組織)を作成します。
下図のCreate Organizationをクリックし、新規に組織を作成します。
次にOrganization name(組織名)とBilling email(課金メール)を登録します。
Billing emailは有料のプランを選択した場合は請求の通知が送信されます。
「choose the organization's plan」から「Open source」を選択すると無料になります。
次にGitHubのユーザー名を入力して、メンバーを組織に招待します。
対象のユーザーを追加後にFinishをクリックします。
これで組織の所有者になりました。
次はリポジトリの作成を行いたいと思います。
「New repository」をクリックします。
Repository nameを入力します。
Create repositoryをクリックします。
GitからGitHubのリポジトリにアクセスする方法がHTTPS、SSHの2種類があります。どちらかをクリックすると下にあるコマンドラインが変わります。
Set up in DesktopをクリックするとGitHubのセットアップファイルのダウンロード画面が表示されます(Windows、Mac、Linuxに対応)。
Ubuntuはapt-get install gitで可能です。
以上で基本的な登録は完了です。
リポジトリは複製ができます(Fork repositories)。
フォーク後のリポジトリで開発し、元のリポジトリに反映を依頼する事もできます(Pull requests)。
他にも強力な機能があるようですが、利用する機会があれば記事にしたいと思います。