nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Visual Studio and Development Technologies。なお掲載内容は個人の見解であり、所属する企業を代表するものではありません。

良さげなDI Containerの比較記事を見つけた

英語のブログですが良さげな比較記事を見つけました。 www.palmmedia.de 私が知らなかっただけで、DI Containerのパフォーマンス評価としては著名なもののようですが。 github.com 個人的にDI Containerへ基本機能や安定性は大前提として、つぎのような条件…

Infragistics Web Day 2017に参加してきました

表題の通りですが、Infragistics Web Day 2017に参加してきました。 connpass.com ここ数年(多分8年とか?)まともにWebシステム開発に携わって来なかったのですが、今後ノータッチという訳にもいかないし、特にWebフロントエンドの知識の最新化は、今期の…

XamarinでもAOPしたい! Fody&Mono.Cecil編

さて前回、Mono.Cecilを利用した静的なAOPについて解説しました。 今回はいよいよXamarin.iOSでも動作する、静的なAOPの実装について解説したいと思います。Mono.Cecilを使ってILを織り込むFodyのアドインを作成し、コンパイル時に自動的にILを織り込むとこ…

XamarinでもAOPしたい! Mono.Cecil編

さて前回、Cauldron.Interception.Fodyを利用すればXamarinでもAOPできるんだけど、仕様が好みじゃないので作るしかないな!というお話をしました。 IL弄ってアスペクトを織り込むアドインを作成するわけですが、ILを弄ると言うと黒魔術のように感じるかもし…

XamarinでもAOPしたい! Cauldron.Interception.Fody編

前回XamarinでAOPするにはIL弄るライブラリを自作するしかないと言ったな? あれは嘘だ。Cauldron.Interception.Fodyを使えばできる。 www.nuget.org なんてこった…まぁ皆さんには朗報ですしょう。私は赤面の限りですが。 という訳で、今回はCauldron.Interc…

XamarinでもAOPしたい! 希望編

この記事は [初心者さん・学生さん大歓迎!] Xamarin その1 Advent Calendar 2017 の6日目の記事です。 qiita.com 空いたままだったのが忍びなく埋めようと書いた記事なので、完成まで到達できていませんがその辺はご容赦ください。 予定では25日の本チャン…

Visual Studio 2017 version 15.5でXamarin関連のアップデートが神すぎる

今日、Visual Studio 2015の新しい更新(15.5)が来ましたね。 今回はXamarin関連でも非常に魅力的なアップデートが来ていますので簡単に紹介しておきたいと思います。

やっぱりXamarin.iOSではRealProxyは使えなかった話

動的コード生成が絡むだろうし無理だろうと思ってたんですが、なぜかRealProxyクラスはあってコンパイルはできるので試してみました。 はい、ダメでした。bugzillaにも上がってますね。動的生成コードが多くなるからiOSじゃ無理だよと。 27847 – Linked away…

RDBで動的検索条件が必要な場合、動的SQLを利用すべき理由

SQL ServerのOPTION (RECOMPILE)や、他DBの同等機能の利用で十分なケースも多いでしょうが、それらを利用せずに静的なSQLだけで解決するのは良くないよと言うお話です。

Xamarin.Forms 2.5.xで「"Xamarin.Forms.Build.Tasks.GetTasksAbi" タスクをアセンブリ~から読み込めませんでした。」というエラーが発生する場合の対処方法

とりあえずメモ程度に。 Xamarin.Formsのバージョンを最新に更新する(2.5.0.77107だと無理かも知れません) ソリューションをクローズして開き直す これでだめなら、Visual Studioを再起動しましょう。 一応私はこれでいけました。 海外のフォーラムでも同…

技術書典3にXamarin本出展します!

来る11月22日(日)に秋葉原UDXにて技術書展3が開催されます。 techbookfest.org 今回も榎本さん率いるサークル「Xamaritans」では新刊「Extensive Xamarin」を用意してお待ちしております。 新刊の詳細情報はこちら。 https://atsushieno.github.io/xamarit…

Xamarin.Forms 2.3.4.247で"XamlCTask task failed unexpectedly"の回避方法

Xamarin.Formsではバージョンに関係なく、次のようなケースで元々"XamlCTask task failed unexpectedly"が発生する事がありました。 ソリューション内のプロジェクトによってXamarin.Formsのバージョンが違う (よくUWPのプロジェクトだけ更新に失敗したりし…

.NET FrameworkからHttpClientを利用している.NET Standardのプロジェクトを利用する

本エントリーはこれを書いている2017.08.26時点での話ですぐ状況は変わるかもしれませんのでご注意ください。 表題の件、普通にやるとなぜかつぎのようなエラーが出ます。 System.IO.FileNotFoundException ファイルまたはアセンブリ ‘System.Net.Http, Vers…

WPF&xUnitでテストコードからViewオブジェクトを生成する方法

例えば次のコードがあったとします。 [Fact] public void WhenClosed() { var window = new Window(); } これを実行すると次のようなエラーがでます。 UIはテストしないんじゃないの?と言われそうな気もしますが、Windowに貼り付ける汎用Behaviorをライブラ…

Xamarin(Formsもね)で.NET Standard 2.0なライブラリを利用する

Visual Studio 2017 Update 3がリリースされたことで、待望の.NET Standard 2.0が利用できるようになりました。 XamarinでもAndroidやiOSからは既に利用可能なようです。UWPは少々お待ちください?(少々っていつ?誰か教えて さて、使うにはまずは.NET Stan…

.NET Standard 2.0対応クラスライブラリを作る

Visual Studio 2017 Update 3の個人的な目玉は何と言っても、.NET Standard 2.0対応です。 という訳で、早速Xamarinの共通部分を2.0にして試してみましょう! 入ってないのかよ(´・ω・`) しかも、「他のフレームワークをインストールする」のリンク先に無い…

Visual Studio 2017 Update 3でAzure Functions and WebJobs Toolsを有効にする方法

Visual Studio 2017 Update 3では、デフォルトでAzure Functions and WebJobs Toolsがインストールされているのですが、おそらく?PreviewのUpdate3用の様で、デフォルトではAzure Functionsのプロジェクトテンプレートが有効になりません。 個別にUpdate 3…

Visual Studio 2017 Update 2へUpdate3を適用する方法

普段Visual Studioの更新は、VSメニューバーの「ツール」>「拡張機能と更新プログラム」から入れられた気がするのですが、どうも今回は2017.08.15時点ではそこから上げられないようです? という訳で、Visual Studio Installerを手動で起動して(インストー…

KAMISHIBAIセルフ プロモーション:一貫性を保ったイベント通知

先日これまでのXamarin.Formsの経験や、PrismのPageNavigationServiceへの貢献を通して得たノウハウを整理して形にした、KAMISHIBAI for Xamarin.Formsをリリースしました。 前述のエントリーや、Github上のドキュメントでもKAMISHIBAIのメリットについては…

Xamarin.Forms.GoogleMaps.Bindings 2.1.0の追加機能解説

昨日、Xamarin.Forms.GoogleMaps.Bindings 2.1.0のリリースを告知しましたが、あれだけだと不親切なので使い方が少し癖のある部分の解説を追記しておきます。 www.nuits.jp 追加した機能のうち、つぎの3つは少し使い方が特殊です。 Support MoveCamera Suppo…

Release Xamarin.Forms.GoogleMaps.Bindings 2.1.0

ちょっと放置状態になってしまっていたXamarin.Forms.GoogleMaps.Bindingsを、「だいたい」Xamarin.Forms.GoogleMaps 2.1.0まで対応しました。 未対応機能があれば、良かったら教えてください。 とりあえず、対応内容は以下の通りです。 Transition to .NET …

KAMISHIBAI for Xamarin.Forms 1.1.0をリリースしました。

ServiceLocatorを追加して、Page生成のDependency Injection対応が可能となりました。 KAMISHIBAIをPrismと併用する記事を書かなきゃなと思っていたら、神のようなタイミングで記事化してくださった方がいらっしゃいまして。 blog.okazuki.jp かずきさん、あ…

Xamarin.FormsでListView選択時にエレガントに詳細画面へ遷移する2つの方法 with 紙芝居 & BehaviorsPack

エレガントは言い過ぎ&タイトル長い上&ダイマでごめんなさい。 KAMISHIBAI for Xamarin.FormsとXamarin.Forms.BehaviorsPackの合わせ技でこんな簡単にListViewで選択されて画面遷移してパラメーター渡しするのが簡単に書けますよという紹介です。 こんな感…

KAMISHIBAI for Xamarin.Forms 1.0.0をリリースしました。

ここしばらく作っては消しを繰り返していた、お手製画面遷移ライブラリ をリリースしました。コードとドキュメントはGithub上に公開しています。利用の際はNuGetからインストールして利用してください。 目指したのは Xamarin.Formsで可能なあらゆる画面遷移…

AxoCoverというVisual Studio拡張のカバレッジツールが素晴らしい

無料です。以上です。じゃ、怒られるので少しだけ紹介を。

Service LocatorをInjectionするパターンの再考察

しばらく前に、Dependency InjectionパターンとService Locatorパターンの記事を書きました。 www.nuits.jp この中で、私はService Locatorパターンは次の点でDependency Injectionパターンに劣ると記載しました。 本来不要であるServiceLocatorへの依存が発…

REST APIをAzure MobileApps SDKを利用して実行する

前回のエントリーではMicrosoft.Rest.Clientを利用してAzure API AppのREST APIを利用しました。 www.nuits.jp ちなみにこれ、AutoRestというプロダクトの一部みたいですね。今日もう少し調べてて知りましたw さて、前回のエントリーを書いたところ、Mobile…

Hello, Azure API Apps with Xamarin.Forms

前回、Azure API Appの簡単な利用方法を解説しました。 www.nuits.jp 今回は、これをXamarin.Formsから利用してみましょう。 Xamarinプロジェクトを作成する XamarinにAPI App呼び出しを組み込む MainPageViewModelの作成 MainPage.xamlの修正 APIクライアン…

Hello, Azure API App with .NET Core

本エントリーでは、Microsoft Azure上でWeb(REST) APIを構築するAPI App初心者向けのエントリーです。 対象読者は以下を想定しています。 Azureのアカウントは作成した API App使いたいけど何も分からない とりあえずAPIを公開して呼び出すところまでの手引…

.NET Standardや.NET Coreでmscorlib 2.0.5.0の参照がないと怒られた場合の対処方法

.NET StandardのプロジェクトからPCLのプロジェクトを無理やり参照しようとしたような場合に発生します。 PackageTargetFallbackを指定しているような場合です。 System.~系への参照が、PCLでは明示的にバージョンが指定されているが.NET Standard側では明…