All posts by Ishisaka

スキルポイントの獲得に適している場所 #ForzaHorizon4

関連: Forza Horizon 4のスキルポイントとPERK #ForzaHorizon4

Blogに頂いたコメントや、自分で見つけたところなどで、スキルポイントを稼ぎやすい場所をここにまとめていきたいと思います。基本的にはスキルポイントを獲得しやすい場所=スキルチェーンをつなげやすい場所としています。

最終更新: 2019/08/03

果樹園

上マップのクルマがある位置に果樹園が有り、Forza Horizon 3のバナナ園に近い感じで、ドリフトスキルとデストラクションスキル、とそれらのコンボスキルが獲得しやすいです。

開墾地

上マップのクルマがある位置の、森の中にある開墾地が、エア、ドリフト、デストラクション、それらのコンボスキル、それに加えてランバージャックスキルの組合せで大変スキルポイントを獲得しやすいです。

Continue reading スキルポイントの獲得に適している場所 #ForzaHorizon4

The Horizon Life 特典リスト #ForzaHorizon4

情報源: The Horizon Life Prize List Thread (Work In Progress – Help Contribute!)

情報源のスレッドを元にまとめてみました。

最終更新: 2018/12/26

Road Racing Series:

Lv 4 – 2014 Lamborghini Huracan LP610-4
Lv 5 – Modern Sports Cars Tee
Lv 6 – Super Wheelspin
Lv 7 – 2015 Porsche Cayman GTS
Lv 8 – Modern Sports Tee
Lv 9 – “Catch me if you can!”
Lv 10 – Colossus Tee, Colossus race
Lv 11 – Boxing Bell Horn
Lv 12 – Navy Top Hat
Lv 13 – “Gotta go fast!”
Lv 16 – 2015 Jaguar XKR-S
Lv 17 – Navy Trousers
Lv 18 – Navy Blazer
Lv 20 – Navy Waistcoat, Goliath race(MAX LEVEL)
Lv 22 – Wolf How! Horn
Lv 25 – Wheelspin
それ以後はWheelspin

Dirt Racing Series:

Lv 4 – 1985 Ford RS200 Evolution
Lv 6 – Super Wheelspin
Lv 7 – 2017 RAM 2500 Power Wagon
Lv 8 – Offroad Tee, Gauntlet race
Lv 10 – Gauntlet Tee
Lv 11 – Cuckoo horn
Lv 12 – Orange Top Hat
Lv 13 – “Another one bites the dust!”
Lv 14 – “Eat my dust”
Lv 15 – Super Wheelspin
Lv 16 – 1973 Renault Alpine A110 1600S
Lv 17 – Classic Rally Tee
Lv 18 – Chicken Dance Emote
Lv 20 – Ginger Tash(MAX LEVEL)
Lv 25 – Wheelspin
それ以後はWheelspin

Continue reading The Horizon Life 特典リスト #ForzaHorizon4

Forza Horizon 4 Forza Edition リスト #ForzaHorzion4

出典:Forza Horizon 4/Cars | Forza Motorsport Wiki | FANDOM powered by Wikia

最終更新:2019/02/11

()内は入手方法

  • 2017 Alfa Romeo Giulia Forza Edition Event Influence boost (Wheelspin, #Forzathon Shop)
  • 2007 Alfa Romeo 8C Forza Edition Credits boost (Wheel Spin)
  • 2015 Alumi Craft Buggy Forza Edition Destruction boost (Wheel Spin, Season Event)
  • 2016 Aston Martin Vulcan Forza Edition Clean Skills boost (Wheelspin, #Forzathon Shop)
  • 2013 Bentley Continental Forza Edition Clean SKills Boost (Wheelspin, #Forzathon Shop)
  • 1988 BMW M5 Forza Edition Influence boost (Wheel Spin)
  • 2013 BMW M6 Coupe Forza Edition Drift Skill Boost (Wheel Spin, #Forzathon Shop)
  • 2013 Caterham Superlight R500 Forza Edition Drift boost (Wheelspin, #Forzathon Shop)
  • 1969 Chevrolet Nova Super Sport 396 Forza Edition Speed skill boost (Wheelspin, #Forzathon Shop)
  • 1973 Ford Capri RS3100 Forza Edition Skills Boost (Ranked Team Adventure)
  • 1972 Ford Falcon XA GT-HO Forza Edition Speed skill boost (Wheel Spin, #Forzathon Shop)
  • 2011 Ford Transit SuperSportVan Forza Edition Speed skill boost (VIP)
  • 2012 Lamborghini Aventador LP700-4 Forza Edition (Wheel Spin, #Forzathon Shop)
  • 2008 Lamborghini Reventón Forza Edition Credits boost (Lamborghini Miura skill tree, 30 pts, #Forzathon Shop)
  • 1972 Land Rover Series III Forza Edition Destruction skill boost (Wheel Spin)
  • 2004 Maserati MC12 Forza Edition Speed skill boost (Maserati 300 S skill tree, 25 pts)
  • 2009 Mercedes-Benz SL 65 AMG Black Series Forza Edition Drift skill boost(Mercedes 300SL Coupe skill tree, 20 pts, #Forzathon Shop)
  • 1995 Nissan Nismo GT-R LM Forza Edition Event influence boost (Nissan R390 skill tree, 25 pts)
  • 2016 Nissan Titan Warrior Concept Forza Edition Destruction skill boost (VIP)
  • 2010 Pagani Zonda R Forza Edition Speed skill boost (VIP)
  • 1984 Peugeot 205 T16 Forza Edition Skills boost (#Forzathon Shop, Wheelspin)
  • 1980 Renault 5 Turbo Forza Edition Skills boost (Wheelspin)
  • 2010 Renault Clio R.S. Forza Edition Clean skills boost (Wheelspin)
  • 2005 TVR Sagaris Forza Edition Speed skills boost (TVR Sagaris skill tree, 99 pts)
  • 1963 Volkswagen Type 2 De Luxe Forza Edition Speed skills boost (Wheelspin)

Forza Horizon 4 ロック車のリスト #ForzaHorizon4

Forza Horizon 4/Cars | Forza Motorsport Wiki | FANDOM powered by Wikia

最終更新: 2020/10/22

Forza Editionはこちら: Forza Horizon 4 Forza Edition リスト #ForzaHorzion4

レベルアップにより解除される車

  • 2013 Ariel Atom 500 V8 – Speed Zone Hero level 11
  • 2005 BMW M3 – Drift Run level 8
  • 1985 Chevrolet Monte Carlo Super Sport – LaRacer @ Horizon level 10
  • 2018 Dodge Challenger SRT Demon – The Stunt Driver level 10
  • 1969 Ford Mustang Boss 302 – Drift Club level 10
  • 1985 Ford RS200 – Dirt Racing Series level 4
  • 1991 Hoonigan Rauh-Welt Begriff Porsche 911 Turbo – Street Scene level 17
  • 2015 Jaguar XKR-S GT – Road Racing Series level 16
  • 2018 Jeep Grand Cherokee Trackhawk – Cross Country Series level 8
  • 2016 Jeep Trailcat – Cross Country Series level 4
  • 2014 Lamborghini Huracán LP 610-4 – Road Racing Series level 4
  • 2002 Nissan Skyline GT-R V-Spec II – Street Scene level 4
  • 2010 Noble M600 – Speed Trap Hero level 11
  • 2011 Penhall The Cholla – Cross Country Series level 14
  • 2015 Porsche Cayman GTS – Road Racing Series level 8
  • 2017 Ram 2500 Power Wagon – Dirt Racing Series level 8
  • 1973 Renault Alpine A110 1600s – Dirt Racing Series level 16
  • 1993 Renault Clio Williams – Street Scene level 8
  • 2015 Ultima Evolution Coupe 1020 – The Drag Strip level 4
  • 2016 Zenvo ST1 – World’s Fastest level 10
  • 2014 Mercedes-Benz G 63 6X6 – Top Gear level 7
  • 2018 Top Gear Track-tor – Top Gear level 5
  • 2017 Mercedes-Benz E350D 4MATIC All-terrain “Project E-AT” – Top Gear level 4
  • 1998 Toyota Supra RZ – Eliminator Level 2
  • 2008 Renault Megane R26.R – Eliminator Level 10
  • 2018 Ford F-150 Prerunner Deberti Design – Eliminator Level 15
  • 2016 Porsche 911 GT3 RS Pre Order Car – Eliminator Level 20
  • 1970 Mercury Cougar Eliminator – Eliminator Level 24

Continue reading Forza Horizon 4 ロック車のリスト #ForzaHorizon4

Forza Horizon 4の既知の問題 #ForzaHorizon4

最終更新: 2019-06-09

情報源:FH4 Known Issues – Forza Support

シリーズ2

スターカード

新しいスターカード機能で発生するいくつかの問題を認識しています。

  • いくつかの統計は、要求された目標に達したかまたはそれを超えたにもかかわらず、完了として表示されないかもしれません。ゲームを再起動するとこの問題は解決します。
  • プレイヤーが本土とフォーチュン島の両方ですべての道路を発見した場合、道路統計は誤った合計道路数を表示します。これはまもなく新しいアップデートで対処されます。
  • ショーケースが勝ち、Showcase Remixesが勝ちとなった場合、全プレイヤーが0と表示されます。これは、統計が以前に正しく追跡されていなかったためです。これを修正する方法はありません。プレイヤーはこれらのイベントを再レースしてこれらの統計を増やし、これらのカテゴリーを完成させる必要があります。
  • 事業収入の統計情報もこれに当てはまります。このアップデート以降の累積されます
  • シーズンイベントとシーズンチャンピオンシップ統計情報は、フェスティバルパスがライブになったシリーズ6アップデート(2/6)以降の記録のみ加算されます。
  • 1対1レースのカウントはFortune Island拡張が追加(12/3)以降の統計が利用されます。

クロスプラットフォーム

  • リプレイモードで、ギア変化があってもエンジン音が変わりません。(恐らくScorpio(Xbox One X) 60FPSの場合のみ)
  • 通知をオフにしていると、トレジャーハント(宝物探し)の場所が出現しません。トレジャーハントの場所が出現するように通知はONにしてください
  • ガレージに表示されない車が、オートショーでは「所有」と表示される。
  • Lake Lodge Houseの所有権狩りセットされる。
  • Cinematicの時を除いてオーディオロス。
  • クラブに参加したり、クラブを設立出来ない。
  • 前のシリーズ同シーズンで既に同じシーズンイベントをクリアしていた場合に、クリアしていると表示される場合がある。
  • プログレッションバーがレベルアップ後も消えない
  • いくつかのストーリー達成実績が誤って達成となっている。

XBoxでの既知の問題

  • Xbox One – オーディオ – タイトル全体で発生するオーディオヒッチがあります。これらは非常に短い期間無音になります。
  • ディスクからのインストール後にリージョンと言語が変更された場合、ゲームを再インストールする必要があります。
  • インストール中にゲームをプレイすると、パフォーマンス上の問題が発生することがあります。
  • 以前のフォルツァのタイトルから大量に保存されたゲームデータを同期するとき、プロファイルの同期時間が過度にかかります。

PC版での既知の問題

  • ドライブラインといくつかの照明/ブルーム効果がちらつくことがあります。 Windows 10バージョン1809または1803を使用している場合は、この問題を解決するために NVIDIA hotfix 430.97 をインストールしてください。
  • Nvidiaコントロールパネルからの強制異方性フィルタリング設定を設定すると、地形がぼやけて見えます。
  • ゲームプレイ中にイヤホンがサス混まれると、Realtek HDオーディオマネージャーはゲームのサウンドを切断します。
  • トレンドマイクロ、マキシマムセキュリティ、コモドアンチウィルス、ソフォス、Emisoft、Avira灘のアンチウィルスソフトウェアがインストールされていると、ゲームが起動出来ないことがあります。
  • 起動時にヘッドフォンを取り外すと、音声が失われ不安定になります。
  • FH4がバックグラウンドアプリケーションであることを無効にされていると、一時停止および再開時にクラッシュまたはハングする可能性があります。
  • デフォルトの再生が24bit 44100Hzに設定されている場合のオーディオの破損(他の利用可能な設定では起こりません)。
  • プレーヤーが[サウンドオプション]> [スピーカーのプロパティ]> [空間]の[すべての効果音を無効にする](または同様の)のチェックマークを付けた場合、または[空間サウンドフォーマット]を[なし]に設定した場合は、ゲームが停止します。
  • マウスとキーボード – カスタムキーボードプロファイルを設定するときに、特定のキーバインドグループの1つを変更すると、そのグループ内のすべてのアクションがバインド解除されます。
  • ドライババージョン411.63を使用する場合のNVIDIA GTX 780およびGTX 780 TIのハードロック。399.24にロールバックすると問題は解決します。
  • スピードゾーンにぶつかるとクラッシュする。Windowsバージョン1809にロールバックしてください。

ホイールの既知の問題

  • Fanatec Clubsport V2 – ホイールがGIPモードのとき、ホイールFFBは初期化されません。*回避策は、PC上でXboxモードでホイールを動かさないことです。
  • Mad Catz Pro – Alt + Tabキーを押すか最小化すると、力のフィードバックと振動が失われる。
  • パッドでタイトルを起動してからホイールをオンにすると、パッド設定が適用されます。ホイールだけでゲームを始めてください

Excel-DNA

Excel-DNAとは

Excel-DNA

Excel-DNAはC#やF#, VBのような.NET Frameworkを使って、xll形式のExcel拡張を作成するためのライブラリ、ツールです。CodePlex上で開発が行われています。ライセンスはオリジナルの物ですので、CodePlexのサイトで確認ください。

xllは基本的にC/C++用のExcel APIを使用したExcelの拡張ライブラリですが、非常に薄いネイティブのラッパを通すことで、高速にExcelから.NETのクラスライブラリを呼び出します。

特に、Excelのユーザー定義関数の作成を.NETの言語で行いたいような場合に非常に強力なツールです。今までの良くあるやり方は、.NETの言語でActiveX DLLを作ってExcelのオートメーションアドインとしてUDFを提供する方式ですが、.NETでActiveX DLLを作るためのお約束が非常に多く、コードも煩雑だし、間にCCWもはいるしなので、あまり見やすい物でも作りやすい物でもありませんでしたが、このExcel-DNAでは最低限のコードで、Excelのユーザー定義関数の開発が行えます。

作業の流れ

Visual Studioで、Excelのユーザー定義関数を開発する場合には以下の手順で、作業を行います。

先ず、クラスライブラリのプロジェクトを作成します。

SnapCrab_新しいプロジェクト_2014-6-27_23-0-32_No-00

プロジェクトが決まったら、NugetでExcel-DNAを追加します。Guiを使う場合にはExcel.DNAで検索をして、下の図のようにExcel-DNAを選択して追加します。

SnapCrab_MyExcelDnaSample1 - NuGet パッケージの管理_2014-6-27_23-2-16_No-00

手動でライブラリの参照を追加した場合には、dllの他にプロジェクトに.dnaというXMLの動作定義ファイルを追加しないといけないのですが、Nugetでのライブラリ追加時にいかのようなそのまま使用できる.dnaファイルが追加されます。


  
  
  

ライブラリをNugetで追加したら、以下のようにC#のコードで実際のExcel関数を追加します。このとき、クラスとExcel関数となるメソッドはStaticで記述します。

namespace MyExcelDnaSample1
{
    using ExcelDna.Integration;

    /// 
    /// Excel DNAを使用してExcelのユーザー定義関数(UDF)を作成するサンプル
    /// UDFはstaticなクラスにstaticなメソッドとして記述する。
    /// 
    public static class MyExcelDnaSample1
    {
        /// 
        /// 引数の名前にHelloを言う
        /// 
        /// あいさつの相手
        /// あいさつ
        [ExcelFunction(Description = "引数にHelloを言う。", Category = "Tadahiro Lib.")]
        public static string SayHello(string name)
        {
            return "Hello " + name;
        }
    }
}

3行目で、Excel.Dnaへの参照を追加しています。
12行目のExcelFunctionよいうAttributeはなくてもPublicでStaticなメソッドはExcelはユーザー定義関数と認識しますが、このAttributeを使って説明とカテゴリを設定しておけば、Excelの関数のウイザードでそれらが表示されます。

これをビルドしてみましょう。以下がビルド結果です。

1>------ ビルド開始: プロジェクト:MyExcelDnaSample1, 構成:Debug Any CPU ------
1>  MyExcelDnaSample1 -> d:\documents\visual studio 2013\Projects\MyExcelDnaSample1\bin\Debug\MyExcelDnaSample1.dll
1>  D:\documents\visual studio 2013\Projects\MyExcelDnaSample1\packages\Excel-DNA.0.32.0\tools\ExcelDna.xll
1>  1 個のファイルをコピーしました
1>  D:\documents\visual studio 2013\Projects\MyExcelDnaSample1\bin\Debug\MyExcelDnaSample1-AddIn.dna
1>  1 個のファイルをコピーしました
1>  D:\documents\visual studio 2013\Projects\MyExcelDnaSample1\packages\Excel-DNA.0.32.0\tools\ExcelDna64.xll
1>  共有違反です
1>  0 個のファイルをコピーしました
1>  Using base add-in d:\documents\visual studio 2013\Projects\MyExcelDnaSample1\bin\Debug\MyExcelDnaSample1-AddIn.xll
1>    ->  Updating resource: Type: ASSEMBLY_LZMA, Name: EXCELDNA.INTEGRATION, Length: 60383
1>    ~~> ExternalLibrary path MyExcelDnaSample1.dll resolved to d:\documents\visual studio 2013\Projects\MyExcelDnaSample1\bin\Debug\MyExcelDnaSample1.dll.
1>    ->  Updating resource: Type: ASSEMBLY_LZMA, Name: MYEXCELDNASAMPLE1, Length: 1571
1>    ->  Updating resource: Type: DNA, Name: __MAIN__, Length: 433
1>  Completed Packing d:\documents\visual studio 2013\Projects\MyExcelDnaSample1\bin\Debug\MyExcelDnaSample1-AddIn-packed.xll.
1>  Using base add-in d:\documents\visual studio 2013\Projects\MyExcelDnaSample1\bin\Debug\MyExcelDnaSample1-AddIn64.xll
1>    ->  Updating resource: Type: ASSEMBLY_LZMA, Name: EXCELDNA.INTEGRATION, Length: 60383
1>    ~~> ExternalLibrary path MyExcelDnaSample1.dll resolved to d:\documents\visual studio 2013\Projects\MyExcelDnaSample1\bin\Debug\MyExcelDnaSample1.dll.
1>    ->  Updating resource: Type: ASSEMBLY_LZMA, Name: MYEXCELDNASAMPLE1, Length: 1571
1>    ->  Updating resource: Type: DNA, Name: __MAIN__, Length: 433
1>  Completed Packing d:\documents\visual studio 2013\Projects\MyExcelDnaSample1\bin\Debug\MyExcelDnaSample1-AddIn64-packed.xll.
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========

手でExcel-DNAのライブラリを参照追加した場合、最終的なxllとする作業は手作業になってしまうのですが、NuGetでライブラリ追加した場合はプロジェクトのビルド時にPowerShellスクリプトが呼び出されてパッケージ化の作業まで実行してくれます。

ビルドが成功したら、ターゲット先のフォルダを開いて、.xllをダブルクリックするか、Excelを起動してドラッグ&ドロップしてください。.xllはExcelのプロセッサアーキテクチャにあわせた方を選択してください。

SnapCrab_Debug_2014-6-27_23-7-14_No-00

以下のようなダイアログが表示される場合には、左側のこのアドインをこのセッションに限り有効とするをクリックします。

SnapCrab_Microsoft Excel のセキュリティに関する通知_2014-6-27_23-7-34_No-00

Excelが起動したらCtrl + Nで新規のワークブックを開きます。

適当なセルで=をおしてSayHello(“Tadahiro”)と入力すれば、自分がC#で作成したユーザー定義関数が動作することを確認できると思います。

SnapCrab_Book1 - Excel_2014-6-28_0-7-6_No-00_01

SnapCrab_NoName_2014-6-28_0-10-15_No-00

関数の挿入ボタンを押して、ウインドウを表示させると、先ほどExcelFunctionで設定したDescriptionの内容が表示されています。

SnapCrab_NoName_2014-6-28_0-12-21_No-00

何もないセルで関数の挿入を選択すると、以下のようにExcelFunctionで設定されたカテゴリを確認することが出来ます。ちなみにカテゴリを設定しなかった場合には、xllの名前がカテゴリになります。

SnapCrab_関数の挿入_2014-6-28_0-13-45_No-00

まとめ

  • Excel-DNAは.NET FrameworkでExcel拡張を作成するための、ライブラリ、ツール。
  • Excel-DNAを使用すると非常に少ない労力でExcelユーザー定義関数の開発が行え、関数自体の実装に集中できる。
  • Automationアドインでは無く、xllとして実装される。
  • Nugetを使用するともっと労力を減らせる。

また、CodePlexのサイトからZIPをダウンロードすることもあわせてお勧めします。豊富なサンプルがありますので、参考になると思います。

Visual Studio Tools for Officeで何故かユーザー定義関数の開発がサポートされていないとか、そもそもいけていないとか、Automationアドインの開発の煩雑さに辟易とか、既存の.NEtでのExcel拡張の開発に嫌気がさしたそういうみなさんは、一度Excel限定ではありますが、Excel-DNAを試してみてはいかがでしょう。

今回のコードは以下を参照。

https://github.com/ishisaka/ExcelDnaSample1

IIS Express サーバーを起動できませんとエラーが出た時の復旧方法

OSを入れなおして環境を再構築した後に、Visual StudioでWebアプリケーションやWebサイトのプロジェクトを作成した時や、WebMatrix2でWebサイトを作った時に、IIS Expressを使ってアプリケーションをホストさせテストしようとしたときに、IIS Expressの起動タイミングで「IIS Expressサーバーを起動できません。」とErrorのメッセージボックスが表示される場合があります。

これは、再構築前の古い環境でのIIS Expressの設定が%userprofile%\Documents\IISExpress\フォルダに残ってしまっていることが原因のようなので、このフォルダを削除するか、リネームし、IIS Expressをアンインストール・インストールする(あるいは再起動だけでもいいのかも)ことで復旧することが可能です。

夜中にドハマリしましたですよ。。。

解決のヒントはMS松崎さんの以下のBlogでした。
IIS Express で、あれこれ(http://blogs.msdn.com/b/tsmatsuz/archive/2012/04/13/iis-express-tips.aspx)

ASP.NET Web APIサーバー編

以前WCF Web APIについて書きましたが、その後紆余曲折あり、まず、WCFのプロダクトでは無くなり、それに従いWCFとしてホストされることは出来なくなり、ASP.NET MVCによるホスト機能に特化され、名前もASP.NET Web APIとなり、実質的にASP.NET MVC 4の1機能になっています。

また、新たに公開されたVisual Studio 2012ではASP.NET 4 Webアプリケーションテンプレートでサポートされています。

※以下記事の元になった記事は日本マイクソフト井上さんの記事(Web APIをはじめてみよう)が元になっています

そこで、以前の記事でWCF Web APIで書かれた内容をASP.NET Web APIで書き直したいと思います。

準備

ASP.NET 4 Webアプリケーションテンプレートを使って新しいプロジェクトを作成します。下の図と異なりますが、ソリューション名はSuperHero2とします。

新しいASP.NET MVC 4プロジェクトダイアログでWeb APIを選択します。

OKをクリックすると、基本のものに加えてWeb API関連のコンポーネントへの参照やファイルが追加されたASP.NET MVC 4のプロジェクトが作成されます。 Continue reading ASP.NET Web APIサーバー編

.NET Console出力のエンコード(文字コード)を変更する .NET 4.5編 (I18N)

@kkamegawaさんが左様な事を仰っていたので、UTF-16エンコードの試験をかねて、Windows 8 Consumer Preview上のVisual Studio 11, .NET Framework 4.5で検証してみました。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleEncodeTest
{
    class Program
    {
        static void Main(string[] args) {

            string notSurrogatePair = "叱る";
            //新常用漢字表での叱るの字形はUTF-16だとサロゲートペア文字になる
            //参考 http://ja.wiktionary.org/wiki/%F0%A0%AE%9F
            string SurrogatePair = char.ConvertFromUtf32(0x20B9F) + "る";
                        

            //標準のエンコードを表示。しかし!ここで表示されるのはShift_JISで
            //Windows-31Jじゃない!!うそつきー!!
            Console.WriteLine("IANA Name : {0}", Console.OutputEncoding.WebName);
            //確認のためコードページも表示。932って表示されるよ!
            Console.WriteLine("Code Page : {0}", Console.OutputEncoding.CodePage);

            //UTF-8 BOM無しを指定してみる
            Console.OutputEncoding = new UTF8Encoding();
            //utf-8
            Console.WriteLine("IANA Name : {0}", Console.OutputEncoding.WebName);
            //65001が表示される。
            Console.WriteLine("Code Page : {0}", Console.OutputEncoding.CodePage);

            //UTF-16 LE, BOM無しを指定する
            Console.OutputEncoding = new UnicodeEncoding();
            //utf-16
            Console.WriteLine("IANA Name : {0}", Console.OutputEncoding.WebName);
            //1200
            Console.WriteLine("Code Page : {0}", Console.OutputEncoding.CodePage);

            //文字列の表示
            //非サロゲートペア文字
            Console.WriteLine(notSurrogatePair);
            //サロゲートペア文字
            Console.WriteLine(SurrogatePair);

            Console.Read();
        }
    }
}

これの実行結果がこちら

サロゲートペア文字はおそらくフォントの関係か、コンソールホストの問題で文字化けしているが、特にエラーで落ちたりすることは無いです。

この点はDPよりカイゼンされているようです。

ん? うん? まてまて。

最初のエンコードがutf-8になってるじゃ無いか。えー!まじっすか?またしても大きな疑問点が。。。

(追記:0:49) コンソールからEXEを起動すると最初のエンコーディングとコードページはCP932なので、どうもVS11からデバッグをかけた場合らしいです。デバッグ無しで実行した場合も同様でした。

Continue reading .NET Console出力のエンコード(文字コード)を変更する .NET 4.5編 (I18N)

WCF Web API, WCF Data Servicesとはまた違うREST APIライブラリ

※ご注意
WCF Web APIはマイクロソフトにより現在開発はキャンセルされ、ASP.NET MVC 4のASP.NET Web APIとして制作・公開されています。

.NET Framework/ASP.NETでRESTfulなAPI構築を目的に記事を探されている方は是非以下のリンクからASP.NET Web APIについてご確認下さい。
http://opcdiary.net/?page_id=5981


WCF Web APIはWCF Data Servicesと同様にWCFでREST APIを持つServiceを構築するためのライブラリですが、Data Servicesが基本的にData Baseのテーブルに対してREST APIを構築する物であったのに対して、Web APIはもう少しDBに対して抽象度が上がり、オブジェクトモデルに対するREST APIを構築するためのライブラリとなっていて、通常のWEB開発者にとってはこちらの方が素直なイメージに近い物だと思います。また、通常のWCFのホスト方法とは別にASP.NETでもサービスをホスト可能となっており、特にASP.NET MVCとの親和性が高く、既存のASP.NET MVCのアプリケーションにREST APIを追加したいような場合や、AzureのWEB Roleに配置したい場合に向いていると思います。

WCF REST Starter kitをご存じの方はそれの後継と考えて良さそうです。(追記:1:11)

この記事はMSエバンジェリストの@chackさんのMSDN Blog記事「Web API を始めてみよう」を発展させて、まずEntity Framework Code Firstのモデルを用意して、そのモデルに対してREST APIを用意するというシナリオで進めていきたいと思います。ですので、そこまでは終わっている前提で進めていきます。
Continue reading WCF Web API, WCF Data Servicesとはまた違うREST APIライブラリ