読者です 読者をやめる 読者になる 読者になる

C#

#nseg #jxug #glnagano JXUGC No.19 Xamarin ハンズオン 長野大会 featuring NSEG に参加しました

11/19にギークラボ長野で開かれた、JXUGC No.19 Xamarin ハンズオン 長野大会 featuring NSEG に参加しました。 JXUGC #19 Xamarin ハンズオン 長野大会 featuring #nseg - connpass Xamarinの話を聞くたびに、手元のMADOSMA(Windows10 mobile)にXamarinアプ…

ブラザーのラベルプリンタまわりを操作する b-PAC SDK を使ってみた

ブラザーのラベルプリンタでは、b-PAC SDKを使ってC#などからプリンタまわりを操作できます。ラベルプリンタからバーコードを印刷する時に手を加えられるため重宝しています。 アプリケーション開発ツール b-PAC|開発者ツール|ブラザー b-PAC SDKの使い方…

ClickOnceアプリをビルドすると「署名中にエラーが発生しました」エラーが表示される

久しぶりにClickOnceアプリを修正してビルドしようとしたところ、 署名中にエラーが発生しました: bin\Debug\app.publish\<app_name>.exe の署名に失敗しました。SignTool Error: No certificates were found that met all the given criteria. というエラーが表示され</app_name>…

C# + CsvHelperで、複数フォーマットのCSVの読込処理を共通化する

CsvHelperを使う場合、CSVファイルの読込処理は public static void Import(string path, ...) { using (var sr = new System.IO.StreamReader(path)) using (var csv = new CsvHelper.CsvReader(sr)) { csv.Configuration.RegisterClassMap(); var records …

C# + CsvHelperで、CSV中の日付っぽい文字列を C# のDateTime構造体にマッピングする

C#でCSVファイルを読み書きする場合、CsvHelperが便利なのでNuGetからインストールして使っています。 JoshClose/CsvHelper: Library to help reading and writing CSV files そんな中、 name,date1,date2,date3 hoge,20160101,20160102,20160103 のようなCS…

C# + Selenium + ChromeDriverを使って、HTMLフォームへ入力してみた

C# + Selenium + ChromeDriverを使って、HTMLフォームへ入力することがあったため、メモを残しておきます。 環境 Windows10 Git for Windows Visual Studio 2015 Community C#のコンソールアプリプロジェクト .NET Framework 4.6.1 Chrome Driver 2.20 Selen…

Microsoft.TeamFoundation.MVVM名前空間に関して注意書きを追加した

このブログの過去記事では、WPFアプリをMVVMで作った際、Microsoft.TeamFoundation.MVVM名前空間を使用しています。 そんな中、公式ブログにて以下の記事が出ました。 Microsoft.TeamFoundation.MVVM 名前空間の利用について - Visual Studio サポート チー…

「The Art of Unit Testing」を写経した時の、xUnit.netまわりのメモ

以前、「The Art of Unit Testing, Second Edition with examples in C# 」をxUnit.netで写経していた時に悩んだところなどを残しておきます。 環境 xUnit.net 2.0.0 VisualStudio 2013 Community 準備など xUnit.net Runnerのインストール 「Instant Nancy…

「Starting to Unit Test: Not as Hard as You Think」を読んだ

書籍「The Art of Unit Testing, Second Edition with examples in C#」を読み終えた後、引き続き .NETのサンプルがありそうなテスト関連の書籍を探してみたところ、この書籍が見つかりました。 Kindleでワンコイン程度、ページ数も多くなかったので、手にと…

「The Art of Unit Testing, Second Edition with examples in C# 」を読んだ

.NETでテストが書かれている書籍を探してみたところ、「The Art of Unit Testing, Second Edition with examples in C# 」のサンプルコードがC#だったため、写経をしながら読んでみました。 洋書なので辞書で調べやすい電子書籍版にするため、出版社のサイト…

xUnit.netを使って、独自クラスに対してAssert.Equalする

テスティングフレームワークとしてxUnit.netを使ったところ、独自クラスに対してAssert.Equalする時に少し悩んだのでメモを残しておきます。 環境 Visual Studio 2013 Community xUnit.net 2.0.0 悩んだところ 独自クラスをプロパティとして持つクラスを用意…

C# + Nancyで、POSTされたJSONに対してModelBindingする

以前、HTMLフォームでPOSTされたデータに対してのModelBindingを試しました。 ただ、HTMLフォームではなくJSONをPOSTした場合のModelBindingはどうなるのだろうと考え、公式ドキュメントを読んでみたところ、 同一のソースコードでJSONも処理できそうな記載…

C# + Nancyで、FluentValidationを使ってデータチェックを行う

前回、NancyでModelBindingを使ってデータを受け取ったので、次はそのデータに対してチェックをしたいと考えました。 何か良いものがないかを探してみたところ、FluentValidationを使ってデータチェックする、Nancy.Validation.FluentValidationというNuGet…

C# + Nancyで、ModelBindingやContent Negotiationを使って、ViewとNancy間でデータを受け渡す

Nancyを使っていて、ViewとNancy間でデータのやり取りをしたくなりました。 何か良い方法がないかを調べたところ、NancyにはModelBindingやContent Negotiationという機能があったため、それらを試してみることにしました。 環境 Windows7 x64 Nancy 1.1 前…

C#で、NuGetパッケージや複数プロジェクトを含むプロジェクトテンプレートを作成する

以前、NancyでASP.NETとSelf Hostingでのマルチホスティングをするために、 SelfHosting AspNetHosting Nancyアプリ本体 の3プロジェクトを1ソリューションとして作成していました。 C# + Nancyを使って、1つのアプリでHerokuとAzure Websitesの両方へデプロ…

C# + Xamarin + Message APIを使って、Android WearとHandheld間でメッセージの往復をする

XamarinでAndroid WearのMessage APIを使ってみましたが、いろいろとあって忘れそうだったので、長いメモを残します。 なお、Android WearをWear、Android Handheld(今回の場合はNexus7の実機)をHandheldと呼ぶことにします。 また、メソッドなどが属してい…

RingoTabetterやRingoTabetterAPIを作るときに調べたり悩んだことのメモ

以前、C#で食べたリンゴの割合をグラフ化しましたが、その後いろいろと手を出していたら振り返りをするのを忘れていました。 ここらへんで振り返っておかないと内容を忘れそうな気がしたので、その時に実装した内容と悩んでいることをメモしておきます。 Twi…

Xamarinでの開発環境を整えて、Hello World的なことを試してみた

ちょっとしたAndroidアプリを作ろうと思ったのですが、SSDを入れ替えた時に以前のRubotoでの開発環境をなくしてしまいました。 再びRubotoの環境を整えても良かったのですが、最近Xamarinが気になっていることから、Xamarinの開発環境構築とHello World的な…

C# + Nancyを使って、1つのアプリでHerokuとAzure Websitesの両方へデプロイできるように構成する

前回は、1つのNancyアプリで、ASP.NET(IIS)とSelfHostingでホスティングできるように構成してみました。 今回は、前回触れることのできなかった、OWINを使ってASP.NET(IIS) Hosting・SelfHostingでホスティングできるように構成してみます。 また、せっかく…

1つのNancyアプリで、ASP.NET(IIS)とSelfHostingでホスティングできるように構成してみた

前回写経した書籍「Instant Nancy」の中に、「Separating applications and hosting (Advanced)」という章があり、1つのNancyアプリでASP.NETとSelfHostingでホスティングするという章がありました。 ただ、写経時点ではいくつか例外が出ており、また、その…

「Instant Nancy Web Development」を写経してみた

先日、C# + NancyのWebアプリを作ってみて、Nancyは扱いやすく書きやすいと感じました。ただ、自分にとって必要なところだけを実装しており、Nancy風に書けているのか分かりませんでした。 そこで、Nancyの機能をひと通り試せるような書籍がないかを探してみ…

C# + Nancy (OWIN, SelfHost, SSVE) + Dapper + Heroku + Highchartsで食べたリンゴの割合をグラフ化してみた

以前、Ruby + Heroku + Highchartsで食べたリンゴの割合をグラフ化してみました。 Ruby + Heroku + Highchartsで食べたリンゴの割合をグラフ化してみた - メモ的な思考的な 現在でも十分使えるのですが、手元の開発環境が WindowsのVirtualBoxのUbuntu VMが…

C# + Nancy (OWIN, SelfHost, SSVE) + Herokuで、Highchartsを使ってみた

NancyでHighchartsを使ってみようと思った時に、いろいろと悩んだことがあったので、メモとして残しておきます。 環境 Windows7 x64 .NET Framework 4.5 Highcharts 4.0.4 データソースは以下の2つ Nancyで返すJSON 他のWebアプリから返すJSONを使う(JSONP) …

ClickOnceアプリケーションの起動時に、ライセンス認証のエラーが出る

今まで使用できていた問題なく利用できたClickOnceアプリケーションがありました。 しかし、突然、起動時にライセンス認証のエラーが出るようになりましたので、忘れないようにメモを残します。 環境 Windows7 sp1 .NET Framework 4.5 ClickOnceアプリは共有…

Albacore v2.xを使って、FluentMigratorを実行する

以前、RakeタスクからFluetnMigratorを実行しましたが、Albacore v2.xではfluentmigratorメソッドがなく、Wikiに書かれている内容では実行できませんでした。 そんな中、Albacore v2.xのGitHubを眺めていたところ、albacore/fluent_migrator.rbとそれに対応…

C# + Dapper.FluentMapで、DBのsnake_caseなテーブルをPascalCaseなクラスにマッピングする

前回の終わりの方で、PostgreSQLのテーブル名・カラム名に大文字が含まれている場合はダブルクオーテーションで囲んでいます。 Dapperで毎回SQLを書くときにダブルクオーテーションを付けるのは手間なので、なにかよい方法が探してみたところ、CustomPropert…

C# + Nancy + Herokuで、Rakeタスクを使ってFluentMigratorによるマイグレーションを実行する

以前の記事で、HerokuのMono環境でRakeタスクが実行できることが分かりました。 次は、RakeタスクのRunnerが存在するFluentMigratorを使って、Heroku Postgresのマイグレーションを試してみました。 環境 Windows7 x64 SourceTree .NET Framework 4.5 Ruby 2…

Herokuで .NET(Mono)とRubyのbuildpackを使って、Nancyを起動しつつRakeタスクを実行する

以前、Herokuにて.NETのbuildpackを使ってNancyをデプロイしてみました。 C# + NancyでJSONを返すWebアプリを作り、Heroku Buttonを使ってHerokuへデプロイしてみた - メモ的な思考的な そんな中、.NET(Mono)環境でもRakeタスクを使いたくなったため、いろい…

FluentMigratorによるマイグレーションをVisualStudioの外部コマンドに設定し、ショートカットから実行する

今までFluentMigratorはコマンドプロンプトから起動していましたが、少々面倒でした。 そこでVisualStudioで使う方法がないかを探したところ、以下のブログがありました。 Launch FluentMigrator from within Visual Studio - Thomas Van Machelen's adventu…

C# + WPFで、CommandParameterを使って、ViewModelからViewを閉じるなどの操作をしてみた

今回も、 Microsoft.TeamFoundation.MVVM 名前空間を使って作る、WPFアプリの話です。 以前、C# + WPFで、ログイン後にログイン画面を閉じる - メモ的な思考的なのようにして、ViewModelからViewを閉じていました。 その後、WindowChromeを使った時に、ViewM…

Deploy to Azure Button + Sql database + Nancy でアプリを作った時に悩んだこと

IoT勉強会の発表用にDeploy to Azure Button + SQL database + Nancyのアプリを作ってみたのですが、いくつか悩んだところがあったためまとめておきます。 Nancyまわり DBの日本語の値をreturnすると文字化けする Nancyで日本語を表示しようとした時に、 JSO…

.deploymentファイルを使って、Deploy to Azure Buttonを使用した際に、FluetnMigratorを自動実行する #glnagano #azure_shinano

前回のエントリの補足みたいな感じのエントリです。 LTの時はDBのマイグレーションを手動で行っていたものの、作業を忘れそうなこともあり、できれば自動化したいところでした。 その後良い方法がないかを調べてみたところ、谷口さんの記事を見つけました。 …

C# + FluentMigratorを使って、MS Accessのカラムやデータのマイグレーションをする

前回はMS Accessの主キー・インデックス・外部キーの設定をしてみました。 今回は、テーブルカラムのマイグレーションと、テーブルへのデータ追加・更新・削除のマイグレーションをしてみます。 環境 .NET Framework 4.5 FluentMigrator 1.3.0.0 MS Access (…

C# + FluentMigratorを使って、MS Accessの主キー・インデックス・外部キーの設定をする

前回はFluentMigratorのおおまかな流れを試してみました。 今回は 新規テーブル作成時 既存テーブル の2パターンに対して、 主キー(単一/複合) の作成 インデックス(単一/複合) の作成 外部キー(単一/複合) の作成 などをしてみます。 環境 .NET Framework 4…

C# + FluentMigratorを使って、MS Accessのテーブルスキーマを作成・変更してみた

昔のMS Accessテーブルを引っ張り出してくると、「なぜこのテーブルやカラムがあるのか?」を思い出せない時がありました。 そのため、MS Accessであってもテーブルスキーマのバージョン管理をしたくなりました。 そこで、Rubyで見たMigrationのようなものが…

C# + NuGet + NuGet Package Explorerで、ローカルや共有フォルダにある既存のexeやdllを参照し、クラスを利用する

WPFでいろいろと作成していると、既存の秘伝のタレのexeやdllに含まれるクラスを使いたくなる時があります。 どうするのが一番手間がかからないかなと考えたところ、以下のようにしてローカルや共有フォルダ(以下、両方をまとめて「ローカル」と表現)でNuGet…

C# + WPFで、Converter + DependencyObject / MuliBinding を使って動的にViewの書式設定をする

引き続き、Microsoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 いつもはXAMLのTextBlock.TextやDataGridTextColumnなどでStringFormatを使い書式設定をしています。 ただ、1つのViewを使ってViewModelによって表示を切り替えた時に動…

C# + NancyでJSONを返すWebアプリを作り、Heroku Buttonを使ってHerokuへデプロイしてみた

以前、Ruby + HerokuでJSONを返すWebアプリを作りました。 Ruby + Heroku + Highchartsで食べたリンゴの割合をグラフ化してみた - メモ的な思考的な 最近C#を触っているため、C#で同様なものを作る方法を探してみたところ、C# + Nancy + Herokuで実現できそ…

C# + WPF で、WPFToolKitのAutoCompleteBoxを使ってオートコンプリートを行う

引き続き、Microsoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 GoogleやExcelでオートコンプリート、VisualStudioでインテリセンスを使ったりしているのですが、WPFでも同じことができるのかなと思い、試してみました。 2015/12/10 追…

C# + WPFで、複数のViewModelで1個のViewを使いまわす

引き続き、Microsoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 例えば、こんな仕様があったということにします。 入庫と出庫で同じ画面構成 画面に表示する項目名や、在庫数を加減するロジックだけが異なる その例として、 View: 入庫…

C# + WPF でシリアルCOMポートから受信したデータを処理する

引き続き、Microsoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 以前WindowsFormにてシリアルCOMポートから受信したデータを処理したことがありました。 WindowsFormで、シリアルCOMポートから受信したデータを処理する - メモ的な思考…

C# + ClickOnceにて、「アセンブリ Microsoft.TeamFoundation.Control をインストールする必要があります」エラーが発生する

引き続き、Microsoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 2015/12/10 追記 ここから 公式Blogに以下の記事が掲載されましたので、Microsoft.TeamFoundation.MVVMの使用前に記事を確認してみてください。 Microsoft.TeamFoundatio…

C# + WPFで、ログイン後にログイン画面を閉じる

引き続き、Microsoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 前回、ログイン後に権限のチェックを行ってみましたが、ログイン画面が残ったままログイン後の画面を表示していました。 WindowsFormではLoadイベントの中でShowDIalog()…

C# + WPFで、PrincipalPermission属性を使って権限チェックし、集約例外ハンドラで例外を処理する

引き続き、Microsoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 前回はGenericPrincipalを使った認証と承認を行いましたが、IsAuthenticatedやIsInRoleの手間を省けないかなと思い、PrincipalPermission属性での権限チェックを考えまし…

C# + WPFで、集約例外ハンドラを実装していても、デバッグ時にハンドルされない場合

App.xaml.csに集約例外ハンドラを実装しますが、デバッグ時にハンドルされないことがありました。 そのため、 メニューバーにある、デバッグ→例外を選択 Common Language Runtime Exceptionsのユーザーにハンドルされていないときのチェックを外す OKボタン…

C# + WPFで、GenericPrincipalを使った認証と承認を行い、画面の表示を制限する

引き続き、Microsoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 今回は、GenericPrincipalを使った認証と承認を行い、画面の表示を制限してみました。 2015/12/10 追記 ここから 公式Blogに以下の記事が掲載されましたので、Microsoft.…

C# + WPFで、DataGridにボタンを表示し、選択行を操作する

引き続き、Microsoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 WPFのDataGridにボタンを表示し、そのボタンを押すと選択行に対して 行データの更新 行データを元にした、メッセージボックスの表示や子Windowの表示 を行うようなアプリ…

C# + WPFで、WindowDisplayServiceを使ってWindowを表示して画面遷移する

引き続きMicrosoft.TeamFoundation.MVVM名前空間を使って作る、WPFアプリの話です。 前回はMessageBoxServiceを使ってMessageBoxの表示ができ、コードが簡潔になりました。 ただ、Windowを表示して画面遷移するための定型コードがコードビハインドやその他の…

C# + WPFで、DataContextChangedイベントハンドラーではなくMessageBoxServiceを使ってMessageBoxを表示する

最近、「ひと目でわかる Visual C# 2013/2012 アプリケーション開発入門」を参考にアプリを作っています。 ひと目でわかる Visual C# 2013/2012 アプリケーション開発入門 (MSDNプログラミングシリーズ) ただ、MessageBoxの表示について、より良さそうな方法…

C# + OpenCvSharp + WPF で、USBカメラ画像の表示や保存をしてみた

前回はコンソールアプリでUSBカメラ画像の表示や保存をしてみましたが、今回はWPFアプリとして作ってみました。 ただ、まだまだWPFのお約束には慣れていないので、まずはコードビハインドで実装してみます。 また、画像の取得についても、 OpenCvSharpをつか…