2014の12/21分記事として作成した物です。PreviewのWebアプリケーションのプロジェクトテンプレートにコンソールアプリケーション(下図)があるのが気になりませんか?私はすごく気になります!本来、コンソールアプリケーションならWindowsデスクトップ側にあっても良さそうなのに、これは事もあろうにWebアプリケーションの側にあります。何者かよくわからないのでとりあえずプロジェクト名をHelloWorldにしてプロジェクトをウイザードに作らせます。作らせると下図のようなソリューション構成となります。何か今までと違います。project.jsonとか言うファイルが出来ていたりします。DBアクセスのコードを書きたいので、PCのGACにあるSystem.Dataのアセンブリを参照したいので、Referencesを右クリックして、参照の追加を選択します。(下図)あれ?おかしいですね。GACにあるはずのアセンブリが一切表示されません、それどころか、その為のタブさえ表示されません。5と同様のいわゆるKRuntime上で動作している物だからです。このためGACのようなCLRの持つ機構は使いません(使えない)。5のWebアプリケーションと同様に、必要なライブラリはNuGetを使ってプロジェクトごとに管理を行う必要があります。Serverプロバイダを追加します。EntityFramework.Commandsも追加しておきます。GUI上で追加すると、設定を書き換え、NuGetが必要なライブラリをダウンロードします。具体的にはproject.jsonに必要な記述を追加します。以下はそれぞれ追加後のproject.jsonで、このあたりもWebアプリケーションと何ら変わりません。}}うまくインデントされていないのpreviewだからでしょう。Serverにデータを追加して、表示するコンソールアプリを作って見ました。}}今までとコードとしては大きく変わったところはありません。12行目でデータベースがなかったときに作成するようにしているだけです。実行結果は次のようになります。Description:Midnightとりあえず、普通に動きます。次のようにkコマンドでコンソール上からも動作させられます。Description:Midnightディレクトリ上にexeファイルも無く、Webアプリケーションと同様非常にクリーンです。クリーンは良いのですが、実行ファイルがなければ標準入力を受けて処理し標準出力に結果を出力するといった、いわゆるコンソールアプリケーションのツールと言ったような物が作れません。Unixway的な通常のコンソールでの用途を考えると、KRuntimeでコンソールアプリケーションを作成する意味がよくわかりません。ツール開発で気軽なクロス開発が出来そうだったのに残念です。この「コンソールアプリケーション」が存在する理由って何でしょう。Serviceを構築する用途です。一つ考えられるのが、クラウドでのUnixwayの実現、そのツール作成としての用途です。Unixwayとは単機能のツールをコンソール上で標準入出力のパイプで繋いで行き、一つの価値の有るの処理を実現させていくことですが、これが一つのマシンでなく、クラウドとなった場合はどうでしょう。クラウドの標準入出力とはといった場合それはHTTPです。HTTPでデータをクロールして、HTTPとして加工データを公開するのがクラウドのツールです。5のコンソールアプリケーションが実力を発揮するのかもしれません。あと、前に紹介したYoemanでもコンソールアプリケーションのひな形は作成できるので、非VS環境の方も試してみてください。明日はDarkCrash3さんです。git-for-windows/gitGitがv2.10.1に追従。Managerがv1.7.0に。@IT元記事には激しくシンパシーを感じるんだけど、耳元でJavaのことばっか言われるのでは僕の精神がゆがむので、.NETではどうなのかまとめてみたい。それはちょっとありそうにない。SQLインジェクション等の脆弱性が内在していないかをコード分析するツールのようです。?Forzaホーム検索トップサイドバー%d人のブロガーが「いいね」をつけました。タイトルとURLをコピーしました。