redwarrior’s diary

C#, ASP.NET, WEB, G*などの雑多な情報

(小ネタ)bootstrap-datepicker (Bootstrap 3 に対応した Date Picker) で選択した日付がハイライトされない

使用しているライブラリ(NuGetから取得可能) github.com 参照するcssが間違っていた。 bootstrap.datepicker.cssではなく、bootstrap.datepicker3.cssを参照する。

TFS 2015のXAMLビルドでNuGetの復元を行わない設定をしたらビルドが超速く終わるようになった

メモ:TFS 2017は、NuGetサーバーをローカルで建てることが出来るらしいので、そちらを使った方がディスク容量の節約になると思いますし、そちらを使いましょう。 TFS 2015から新しいビルド方式が用意されて、TFS 2017もリリースされ、今後あまり使われなく…

IIS上で動くASP.NET (MVC)アプリケーションの権限について

ASP.NET MVC アプリケーションを別サーバーにデプロイして動作確認しようとしたが、DBやフォルダへのアクセス権限でエラーが発生しました。以前に設定したのが少し前で、やり方を忘れていたのと、IIS上でASP.NET MVC アプリケーションの権限について理解があ…

(小ネタ).NET Frameworkの本体と、targeting packは別物

タイトルからして、何当たり前のことを言っているんだ感が全開ですが、今後同じ間違いをしないように書いておきます。 開発環境とネットワークでつながっていない環境に、ASP.NET MVC 5 アプリケーションをデプロイする必要がありました。 デプロイの「発行…

デプロイできたけど実行できない場合の対処方法(とTFS上のデプロイ)

ASP.NET MVC5でWebアプリケーションを作成し、IISへの公開も成功して、さて確認するぞ!という事でアクセスしたらエラーが発生して表示できなかったので、原因を調べました。 動作環境 ASP.NET MVC 5.2.3 Windows 2008 IIS 7 設定内容 IIS 7では以下の設定が…

(小ネタ)Table-Per-Hierarchy とは

仕事の都合やら、質の高い内容を書こうとしたせいで、4か月近く更新が出来ていませんでした。今日からリフレッシュして、改めて気負わずに記事を書いていきたいと思います。 Entity Framework 6とEntity Framework Coreの違いを紹介した記事を読んでいて、…

バリデーションのメッセージを変更する

ASP.NET MVCの入力値の検証は便利ですよね。デフォルトでもメッセージの意図は伝わります。 でも、カラムに必ず○○フィールドは~とつくため、これをなくしたい場合もよくあると思うので変更方法を調べました。 ちなみに、良くあるバリデーションのメッセージ…

Entity Framework で既存DBを使用した時にログ出力されるエラーの解消方法

EF6

新年一つ目の記事ということで、あけましておめでとうございます。今年もよろしくお願いいたします。 Entity Framework を使用して開発を進めていく場合に、開発中は Code First を使用してDBを再作成するけれど、 本番環境やステージング環境には既にDBが用…

ASP.NET MVC でユーザの氏名(!=アカウント名)を表示する(Windows認証を使用)

ASP.NET MVC で Windows認証を使用して、ログインアカウント名(ドメイン名\アカウント名)からユーザーの氏名(フル・ネーム:Full Name)を取得して画面に表示する方法を調べたら、以下のサイトに書いてあった。 stackoverflow.com 上記サイトが見れなくな…

Web Deployの整理

ASP.NET MVC 5 の Web Deploy について自分用にまとめたメモ。 対象環境 Windows Server 2008 IIS 7 Web Deployment Agent Service と Web Management Service どちらを使う?(サーバー側) Web Deployment Agent Service=Remote Agent Service 日本語では…

git-flow や GitHub Flow を運用しやすいようにアレンジして使っていました

Git

ちょっと前の開発プロジェクトで使っていたGitを使用したワークフローについて書いてみます。 ざっくり言うと、リポジトリを一つしか使用しない git-flow って感じです。もしくはルールを追加した GitHub Flow でしょうか。

(小ネタ)Microsoft の Markdown ガイダンス

正しくは、TFS/VSTS上でMarkdown記法を使用するときのガイダンスだけど。 Markdownを書くときに参考になりそう。いつの間にか用意されていた。 www.visualstudio.com URLがja-jpなのに、全編英語。まあ、内容は予想がつくのでよしとする。 ちなみに、はてな…

ELMAH と Glimpse を組み合わせて使用する

ASP.NET でデバッグ作業目的に使用するツールとして、ELMAH と Glimpse がある。合わせて使ってみた。

AutoMapper は使わない!

ASP.NET MVC で開発をしている時に気になってくるのが、Entity Framework で作成したエンティティと画面で使用するモデル(ViewModel)の詰め替えをどうするかということ。 少しググってみると、AutoMapper を使用すると良いと出てくる。プロパティを一つず…

ASP.NET MVC でテキストボックスとラベルに別の書式を使用する

ASP.NET MVCでは、ビューヘルパーを使用することで、テキストボックス等のフォーム部品をシンプルに記述することが出来ますよね。 さらに、***Forメソッドを使用すると、モデルクラスのプロパティを扱うことが出来て、EditorForメソッドやDisplayForメソッド…

ASP.NET MVC で備考入力欄を作成する方法のまとめ

入力フォームを作る時に、大体作ることになる備考入力欄について、ASP.NET MVC での実装方法のポイントをまとめてみました。

(小ネタ)C#でデフォルト引数に今日の日付や現在時刻を指定する

ちょっと前ですが、以下の記事を読みました。あわせて読みたいの記事も読みましたが、どれも丁寧にまとめられていて良い内容でした。 techlife.cookpad.com 日付を渡すには、Rubyではデフォルト引数で行うのが簡単と書かれていたので、これをC#でやってみよ…

TFS 2015でプロジェクトを.NET Framework 4.6にダウングレードしてビルドする

前振り 前回の記事で.NET Framework 4.6.1を使用してビルドが出来るようになったので、次にテスト環境を用意しようと思いました。 redwarrior.hateblo.jp いきなりTFS上からテスト環境へデプロイをするのは大変そうなので、まずはローカルマシンからデプロイ…

TFS 2015で.NET Framework 4.6.1のプロジェクトをビルドする

新プロジェクトが開発に入るにあたって、どうせならばTFSでビルド出来るようにして、ゆくゆくはプルリクエストがマージされたらテスト環境にデプロイされるようにしたい。 またVisual Studio 2015で開発するのだから、.NET Frameworkも4.6.1を使い、作成する…

VSUG DAY FINALに参加してきた。

etc

イベント参加レポートが毎回遅くなってしまった。またも2カ月くらい前になってしまいましたが、参加した感想を書いておきます。 FINALということで、過去をふりかえる内容がありましたが、自分は初めてなので、そんなこともあったんだーというくらいの気持ち…

(小ネタ)SQL Server のテーブルをまとめて選択して削除したい

データベースの削除やSQLを実行するのではなく、GUIでテーブルを選択して削除したい場合のメモ。 SQL Server Management Studioや、Visual Studio上のサーバー エクスプローラーではなく、SQL Server オブジェクト エクスプローラーを使う。 外部キー制約な…

Unity で AOP

ASP.NET MVC 5.2.3 で Unity 4.0.1 を使用して、AOPでログ出力やってみた

(小ネタ)Firefoxのはてなブックマークの拡張機能がなおった

しばらく前から、Firefoxのはてなブックマークの拡張機能で、 サイドバー表示した場合に、タグによる表示の絞り込みが出来なくなっていたのだけど、 今確認してみたら、なおっていた(絞り込まれて表示されるようになっていた)。 地味に不便だったので、な…

第17回 Tokyo Atlassian ユーザーグループ に参加した

etc

こちらも2カ月くらいたってしまって今更感がありますが、参加したので感想を書いておきます。 Confluence上でKPIをレポート自動生成によって共有する レポートにテンプレートエンジンを使用して、Webアプリのようにレポートを作成するという内容でした。Conf…

(小ネタ)プロダクトバックログについて勘違いしていたこと

プロダクトバックログについて勘違いしていた。 プロダクトバックログは、複数の要求に優先順位をつけたリストのことだった。 今までプロダクトバックログを個別の要求だと思っていて、プロダクトバックログの一覧とかいう言葉を使ってしまっていた。ああ、…

CodeIQの忘年会に参加した

etc

4カ月近くたってしまいましたが、昨年末にCodeIQ大忘年会に参加したのでその記録を残しておきます。 最初は元グーグルエンジニアの及川さんの話を聞いた。Qiitaの社内で行われている取り組みなどが知れて興味深かった。ChatOpsすごい。 資料:CodeIQ 2015大…

Angular 2のビルド周りについて調査した

Angular 2, TypeScript, tsconifg, Browserify, babelify, beefyを使用して、ビルドからHttpサーバーでの動作確認まで行う。 使用した package.json, tsconfig.json, index.htmlを表示。

Angular 2をさわってみたので、参考になったサイトをまとめる。

とあるシステムを作り変えることになって、現在のシステムの解析や、システムの使われ方の聞き取りなどタスクが割り振られる中で、アーキテクチャの検証タスクになり、Webアプリによる実装の検証担当になり、Anugular2をさわってみたので、参考になったサイ…

(小ネタ)2重ループをLINQを使って書く

コレクションが二つあって、片方のコレクションの値で、もう片方のコレクションを検索して処理を行う時に、2重ループを使うことがありますが、これはLINQを使用して書くことも出来ます。 C#で解説する「データ処理の直交化と汎用化」 − @IT ただしサイト内…

(小ネタ)改行文字を削除する

ささいな事ですが、うっかり引っかかったのでまとめておきます。 C#で文字列に含まれている改行文字を取り除く方法は、改行文字を含む位置によって違います。 末尾にある場合 TrimEndメソッドに改行文字を渡します。環境に依存しないようにCRとLFを両方とも…

awaitは、中断と再開

前回からだいぶ時間が空いてしまいました。本年もよろしくお願いいたします。 C# 5.0以降で可能になったasyncとawaitとTaskについての自分用のメモ。ASP.NET MVCやWeb APIでは必要になってくる知識。 ググった結果を斜め読みしてまとめたメモなので、awaitの…

テストプロジェクトからメインプロジェクトのDBを参照する

この記事は Windows & Microsoft技術 基礎 Advent Calendar 2015 - Qiita の15日目です。 アドベントカレンダーからいらした方、初めまして。今年の始めのあたりからブログを書き始めた redwarriror と申します。 普段はC#等のMicrosoft系の技術を中心に書い…

Visual Studio 2015は、Professionalでもユニットテスト機能(MSTest)が充実している

Visual Studio 2015になって、Professionalエディションでもユニットテストが便利になったと実感したので忘れずに書いておく。 便利だと思ったのは以下の2つ。 テスト対象クラスのメソッドから、テストクラス/メソッドを作成する テスト対象クラスのメソッ…

(小ネタ)EqualsメソッドもGetHashCodeメソッドもReSharperで!

ReSharperカテゴリの2つ前と操作がほとんど一緒ですが、機能紹介ということで。 csファイル(クラス)を開いて、メニューのRESHARPER→Edit→Generate Codeと選択し(もしくはクラス内にカーソルを合わせて「Alt」を押しながら「Insert」を押す)、 出てきたメ…

(小ネタ)C#のユニットテストで public でないメソッドをテストする方法(MSTest)

Javaでは、publicでないメソッド(かつ、privateでもない)をテストする場合は、packageを一緒にすれば良かったのですが、C#ではどうやるんだろうと思って調べました。 参照先の通りにやったら出来たので、特に追記することはありません。 ソースコード単位…

(小ネタ)C#でメソッドの引数に値渡しが行われるのは、値型のみ

自作クラスなどの参照型の引数に ref とか out とかつけるのは意味がなく、m9(^Д^)プギャーされるのでやめた方が良いですね。 自作の構造体や列挙型は値型なので、参照渡しが必要ならばつけましょう。

LINQを使用したメソッドの共通化の試行錯誤

LINQを使用して、DBから取得したデータでDTOを構築するメソッドを作成していると、インターフェイスは違うのに処理の流れがほぼ同じになる事ってありませんか? どういうことかと言うと、片方の処理では、単純なLINQを使用しているのでIQueryable<T>を返します</t>…

PowerShellでGit操作が楽になるposh-gitをインストールしてみた。

以前の投稿で、PowerShellでGitコマンドを実行できるようになりました。 redwarrior.hateblo.jp その時に行ったposh-gitのインストールと設定についてまとめておこうと思います。 PowerShellの設定 PowerShellを使用して、プロキシ経由でファイルをダウンロ…

(小ネタ)GitコマンドをPowerShellスクリプトに組み込む最も簡単な方法

前回の記事で、ClickOnceアプリケーションをコマンドラインから発行する方法を書きましたが、 どうせならばバージョン管理システムからソースコードをダウンロードして、ビルドが出来るようにしたいと思い、GitコマンドをPowershellスクリプトに組み込む方法…

ClickOnceアプリケーションをコマンドライン(MSBuild)から発行する方法

ClickOnceアプリケーションをコマンドラインもしくはPowerShellから、MSBuildを使用して発行する方法がわかったので、忘備録としてまとめておく。 MSDNと@ITで必要な情報は足ります。 MSDN ClickOnce のセキュリティと配置 MSBuild ClickOnce アプリケーショ…

ClickOnceアプリケーションをMSBuildで発行しようとしたらエラー発生(したけど解決した)

ClickOnceアプリケーションをMSBuildを使用して発行しようとしたら、エラーに遭遇したのでメモを残しておきます。 エラーメッセージは、以下の通りです(見辛いので改行しています) C:\windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targ…

(小ネタ)Visual Studio 2015 のバージョンがv14なわけ。(Visual Studio 2013 はv12です)

ものすごい小ネタですが、ASP.NETのフォーラムで議論されていました。 forums.asp.net アメリカでは13が不吉な番号だかららしいです。CTPの時点で話題になっていたようですね。 以下のページで、より詳しく検証されています。 blog.livedoor.jp Officeで既に…

Visual Studioを使用したテスト駆動開発ブートキャンプ(TDDBC)に参加しました

2015/9/2にマイクロソフトセミナーを品川のマイクロソフト社で受けてきました。タイトルの通り、和田卓人(id:t-wada)さんは日本のTDD(テスト駆動開発)の第一人者であり、とても勉強になりました。 著名人の話を無料で聞けるとは、マイクロソフトセミナー…

Spring in Summer に参加しました

日本Springユーザ会が主催する「Spring in Summer」というカンファレンスに参加しました。Springは、JavaのWeb開発などでよく使われるフレームワークです。 会場は東京駅の近くのグラントウキョウサウスタワーで、リクルートテクノロジーズのセミナールーム…

(小ネタ)WindowsフォームでShowDialogメソッド、Showメソッド、Closeメソッド、Disposeメソッドの動作を理解する。

Windowsフォームアプリケーションのソースコードを見ていて、ShowDialogメソッド、Showメソッド、Closeメソッド、Disposeメソッドの動作の理解があいまいだったので調べました。 ShowDialogメソッド フォームクラスのShowDialogメソッドを実行すると、画面が…

(小ネタ).NETで設定ファイル(***.config)の値に半角スペースを使用する方法

.NETで設定ファイル(Web.configやApp.config)の値に半角スペースを使用したい場合がたまにあります。 代表的なのはDBの接続文字列で、AttachDbFilenameにmdfファイルのパスを指定する場合です。 コンソールアプリケーションで、SQL Server 2012 Express Lo…

(小ネタ)INotifyPropertyChangedの実装も、ReSharperはサポートしている

Windowsフォームでデータバインディングをする場合に、INotifyPropertyChangedをオブジェクトに実装する必要があるが、ReSharperを使用するとメニューから選択するだけで作成してくれる。 (どのフィールドを通知対象とするかは、フィールドごとに設定する必…

(小ネタ)ToStringメソッドもReSharperで作成してくれる!

クラスを開いて、メニューのRESHARPER→Edit→Generate Codeと選択し、出てきたメニューから「Formatting members」を選択するとプロパティを選択する画面が出てくるので、ToStringメソッドに含んでほしいプロパティを選択して、作成すると、ToStringメソッド…

(小ネタ)インターフェースのシグネチャを変更したら、実装クラスのシグネチャも変更されるReSharperならね。

タイトル以上のものは無いのですが。はは~、<m(__)m> とお辞儀をしたくなる便利さです。 やり方: interfaceソースを開いて、メソッドにカーソルを置いた状態で、メニューのRESHARPER→Refactor→Change Signatureを選択すると、メソッド名、戻り値、パラメータを編集</m(__)m>…

(小ネタ)BindingSourceを手動で更新すると、行の設定が解除される場合がある

System.Windows.Forms.BindingSourceのDataSourceプロパティに通常の(BindingListではない)Listを代入した場合、 Listの要素を更新を反映させるためには、BindingSourceのResetItemメソッドに対象のインデックスを渡して呼ぶか、ResetBindingsメソッドを呼ぶ…