忍者ブログ

[PR]

2024年10月19日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

エロスの街道 パルテノン神殿 レジェンドストーリー にゃんこ大戦争 攻略情報

2017年11月10日












PR

「Platform Compatibility Analyzer」ってなに?

2017年11月10日





 Platform Compatibility Analyzerは、クロスプラットフォームでの互換性に問題がある.NET APIや使用が推奨されていない.NET APIを見つけてくれるツール。本稿執筆時点(2017年11月6日)ではαバージョンであり、NuGetパッケージとして提供されている。

.NET Portability Analyzerによる解析結果をHTMLとして表示したもの

 .NET Frameworkは誕生から既に10年を超えるフレームワークであり、より高度な機能を持つAPIが誕生すると、それらのAPIで古いAPIが置き換えられるという歴史を繰り返してきた(例えば、HttpClientクラスはWebClientクラスとHttpWebRequestクラスを置き換えるものだし、ArrayListクラスとListクラスでは後者を使うべきだ)。その一方で、互換性維持のために古いAPIも残されている。そうなると、どれを使うべきか、どれを使うべきでないかの判断は難しい。また、.NET Coreの広まりとともに、クロスプラットフォームで利用できるAPIとそうではないAPIも登場している。古いAPIを使わないようにしたり、さまざまなプラットフォームで使えるAPIだけを使用したりするようにするには、開発者が個々のAPIの素性を覚えるよりも、使えるAPI、使うべきでないAPIを機械任せで簡単に判断できることが重要だ。

○Platform Compatibility Analyzerのインストールと利用

 Platform Compatibility Analyzerパッケージは.NET Coreプロジェクトや.NET Standardベースのクラスライブラリプロジェクトにインストールする形で利用する。一番簡単なのは、Visual Studio(以下、VS)のソリューションエクスプローラーでソリューションやプロジェクトを右クリックして、コンテキストメニューから[ソリューションの NuGet パッケージの管理](ソリューションを右クリックした場合)あるいは[NuGet パッケージの管理](プロジェクトを右クリックした場合)を選択することだ。これにより、NuGetパッケージの管理ウィンドウが表示されるので、[参照]タブを開いて[検索]ボックスに「Analyzers.Compatibility」などと入力をする。Microsoft.Dotnet.Analyzers.Compatibilityパッケージが表示されたら、これを選択して[インストール]ボタンをクリックするだけだ。

 インストール後は、VS 2017でコードを入力していくと、問題のあるAPIについてはその場で警告が発せられるようになる。現在のところは、次のようなものが警告を発する対象となっている。

・全てのプラットフォームではサポートされていないAPI(PlatformNotSupportedExceptionを発生するAPI)
・.NET Standardにはあるが、.NET Framework 4.6.1ではサポートされていないAPI
・UWPでは使用できないネイティブAPI
・deprecatedなAPI

 詳細な分類については、Platform Compatibility Analyzerのドキュメントにある各種の.mdファイルを参照されたい。例えば、「全てのプラットフォームではサポートされていないAPI」はPC001というカテゴリーに分類され、PC001.mdファイルにそのドキュメントがまとめられている。

 ソリューションエクスプローラーの[依存関係]-[アナライザー]-[Microsoft.Dotnet.Analyzers.Compatibility]以下にもこのNuGetパッケージで定義されている規則が一覧表示される。ただし、具体的にどのAPIが使用できないか(使用すべきでないか)までは表示されないので、各項目を右クリックしてコンテキストメニューから[ヘルプの表示]を選択する必要がある。これにより、上述したドキュメント(.mdファイル)がブラウザで開かれる。

 例えば、ConsoleクラスのTitleプロパティ(コンソールウィンドウのタイトル)はmacOSやLinuxではサポートされていない。このプロパティを使用したコードを記述すると、次のように警告が表示される。このときには、同時に[エラー一覧]ウィンドウにも、警告が表示される。

 このように、コードを記述していくと、.NET Core/.NET Standardプロジェクトで使えないAPIや使うべきではないAPIが即座に分かるのが、このツールの良いところだ(ただし、後述する.NET Portability Analyzerが有効だと、ビルドを行わないと警告が表示されない場合があるビルドを行うまでは警告が表示されなくなることがある )。

 なお、警告を表示したくないものについては、ソリューションエクスプローラーで該当する項目を右クリックして、コンテキストメニューから[ルールセットの重要度の変更]から[非表示]や[なし]を選択する。もちろん、重要度を[エラー]に設定すれば、おなじみの赤い波線でエラーがあると報告されるようになる。

 該当するコードを右クリックして、コンテキストメニューから[クイック アクションとリファクタリング]を選択して、警告の表示を抑制することもできる(プロジェクトファイルを直接編集する方法もあるが、これについては以下で紹介する参考資料を参照からたどってほしい)。

 移植性を確認するためのツールとしては、.NET Portability Analyzerもある。こちらは、VSの拡張機能として利用するもので、ソリューションエクスプローラーでソリューションあるいはプロジェクトを右クリックして、コンテキストメニューから[Analyze Assembly Portability](ソリューションを右クリックした場合)や[Analyze Project Portability](プロジェクトを右クリックした場合)を選択することで、移植性の確認を行える。以下は先ほど見たConsole.Titleプロパティを表示するコードを解析した結果だ。

 どちらを使うのがよいかについては「好みによる」ということになるだろう。ただし上の例を見ると、Platform Compatibility AnalyzerではPlatformNotSupportedExceptionを発生するAPI(Console.Titleプロパティはその例)を発見してくれたが、.NET Portability Analyzerでは発見できなかった(APIとしては用意されていて、例外が発生するということだ)。両者のこれからの発展次第ではあるが、移植性がないコードの判断にはツールごとに差異があるので、使う際には注意が必要だろう。

 Platform Compatibility Analyzerを使用すると、コードの記述と同時にその場その場で、クロスプラットフォームでの互換性に問題がある.NET APIや使用が推奨されていない.NET APIを見つけてくれる。.NET Frameworkが提供するAPIはより高度な機能を持つAPIで古いものが置き換えられているが、互換性維持のためには古いAPIも残されている。そうしたAPIを使わないようにしたり、さまざまなプラットフォームで使えるAPIだけを使用したりするようにするために、こうしたツールを使うのが効率的といえるだろう。

小池栄子、 川村ゆきえ、 優香、 熊切あさ美らが表紙を飾ったおしゃれグラビア雑誌「URECCO」が復

2017年11月10日





 1986年7月~2007年7月まで大洋図書の子会社「ミリオン出版」にて発行していたグラビア雑誌「URECCO」が復活する。また、これにあわせて、誌面争奪オーディションの参加者を募集する。

【写真】おしゃれグラビアイメージ 茜結、 保田真愛、 服部彩香

 「URECCO」は、全国のコンビニ・書店で販売され、最大発行部数は20万部を誇り、小池栄子、川村ゆきえ、優香、熊切あさ美などが表紙を飾り、一時代を築いたおしゃれグラビア雑誌。

 新星「URECCO」は今までにない「雑誌(URECCO)」×「ネット生放送(マシェバラ)」×「リアルイベント(URECCO撮影会)」の融合により、立体的なメデイア・コンテンツ作りで高い顧客満足度を目指すとのこと。

 なお、2018年1月末発売予定の創刊号の表紙は、「URECCO 誌面争奪オーディション」で選出される。グランプリを逃しても、2位~5位に入れば、水着特集を各2ページずつ掲載される予定。

 オーディションの詳細は、オーディション情報サイト「デビュー」に掲載中。

【送料込み】満天青空レストラン放映で紹介されましたあおさの醤油が入った 瀬戸内の食材を使った調味料

2017年11月10日





【送料込み】満天青空レストラン放映で紹介されましたあおさの醤油が入った 瀬戸内の食材を使った調味料 彦右衛門特別セット 山口県周防大島の極上調味料(蜜柑胡椒 あおさ煮 あおさ醤油 いりこ醤油 お侍ポン酢)熨斗・名入れ対応可

◆【送料込み】満天青空レストラン放映で紹介されました 彦右衛門特別セット(蜜柑胡椒 あおさ煮 あおさ醤油 いりこ醤油 お侍ポン酢)満天青空レストランの太刀魚(タチウオ)の乾杯メニューで登場した周防大島の極上調味料のセットです。 お刺身、玉子(卵)かけごはん、お鍋などの薬味、おにぎりのお塩などにご利用ください。 《いりこ醤油》 瀬戸内海ではぐ群だいりこ(煮干し)を 特製の醤油に大量に丸ごと詰め込み うまみと風味を最大限に引き出した万能醤油 《蜜柑胡椒》 山口県のみかんの生産量80%を占める周防大島で生まれた 風味たっぷりの万能調味料です。 《あおさの醤油》 瀬戸内海で育んだあおさを特製の醤油に付け込んで 風味を最大限に引き出した絶品の醤油。 《お侍ポン酢》 瀬戸内の温暖な気候で2年間熟成させた 天然の諸味醤油に山口県産の柚子を加え、 昆布と鰹で味を調えました。 《あおさ煮》 瀬戸内海で育んだ磯のかおりたっぷりのあおさを 特製の醤油で漬け込んで風味を最大限に引き出した絶品の佃煮。 <名   称> 彦右衛門特別セット (みかんこしょう、あおさ煮、醤油加工品、ポン酢) <原 材 料> いりこ醤油醤油、砂糖、・
⇒ 詳細はこちら









日本テレビ【満天★青空レストラン】で紹介 奈良の【純柿酢 大 720ml】)

2017年11月10日





日本テレビ【満天★青空レストラン】で紹介 奈良の【純柿酢 大 720ml】)

■NHKの朝の情報番組『あさイチ』で紹介されました(2010年9月27日放送)■ 水を一滴も使わず柿と酵母だけでつくった・
⇒ 詳細はこちら