.NET Coreのアップグレード、アセンブリの探し方

最新ビルドへのアップグレード

.NET Coreはほぼ日々不安定版のビルドが上がっています。(というか不安定版のみ)

最新のビルドへのアップグレードは以下の要領で行います。

C:..tcore\helloworld> dnvm upgrade -r coreclr latest -u
Determining latest version
Downloading dnx-coreclr-win-x86.1.0.0-beta6-12120 from https://www.myget.org/F/aspnetvnext/api/v2
Installing to C:\Users\Tadahiro\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta6-12120
Adding C:\Users\Tadahiro\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta6-12120\bin to process PATH
Adding C:\Users\Tadahiro\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta6-12120\bin to user PATH
Compiling native images for dnx-coreclr-win-x86.1.0.0-beta6-12120 to improve startup performance...
Finished native image compilation.
Setting alias 'latest' to 'dnx-coreclr-win-x86.1.0.0-beta6-12120'

この例では、latestというエイリアスを付けています。エイリアスを付けたくない場合にはlatestをコマンドライン引数から外してください。

また、Visual Studio CodeやOminisharpを使用する場合には、使いたいランタイムをActiveにして、それにdefaultのエイリアスを付けるのを忘れないようにしましょう。

標準クラスがどのアセンブリにあるか調べる方法

System.Mathを使いたかったのですが、どのアセンブリ(パッケージ)を読み込むようにプロジェクトファイルに追加するかよくわかりませんでした。GitHubのCoreFxのサイトを見てもSystem.Consoleのようにそのものズバリのパッケージがあるわけでもなく、諦めかけてStackOverFlowを見たら、System.Runtime.Extensionsにあるよとの記事が。またそこで、以下のサイトが紹介されていました。これはクラスや名前空間から、それがどのパッケージにあるか検索してくれる物です。

SnapCrab_Reverse Package Search - Google Chrome_2015-6-27_1-25-45_No-00

Reverse Package Search

パッケージの名前がわかれば、CoreFxのサイトに戻って、バージョン番号を確認し、project.jsonのFrameworkに追加します。

{
    "version": "1.0.0-*",
    "dependencies": {
    },
    "frameworks" : {
        "dnx451" : { },
        "dnxcore50" : {
            "dependencies": {
                "System.Console": "4.0.0-beta-*",
                "System.Linq.Queryable" : "4.0.0-beta-*",
                "System.Runtime.Extensions" : "4.0.10-beta-*"
            }
        }
    }
}

11行目がMathクラスを使用するために追加した内容です。MathクラスはSystem.Runtime.Extensionsに存在していて、最新のバージョンはv4.0.10-beta-23024(6/27現在)なので、11行目のように追加します。

コメントを残す