Win7 では、Hyper-Vの拡張セッションは使えない

仮想マシンに対しても コピー&ペースト ができる拡張セッションモード。

これはとても便利なのですが、Windows 8 から使える機能だそうです。
Windows 7 では使えない 仕様 です。

[ PowerShell ] zipファイルを解凍。既にあったら上書きする。

Expand-Archive -Path c:\Temp\Test.zip -DestinationPath c:\SysData\ -Force
「 -Force 」オプションを付けると、同名のファイルは上書きされる。
オプションを付けず同名のファイルがあった場合はエラーになるので気をつけよう。

[ PowerShell ] IISの物理パスを取得する

# 通常は「 C:\inetpub 」
Get-WebFilePath -PSPath "IIS:\Sites\Default Web Site"

# 通常は「 C:\inetpub\wwwroot 」
(Get-WebFilePath -PSPath "IIS:\Sites\Default Web Site").FullName
設定を変更しなければ、IISのデフォルトウェブサイトの物理パスは「 C:\inetpub\wwwroot 」のはず。
ただ、念のため環境毎にきちんと取得したいよね、という場合に使う。

C# Access Insert 直後にオートナンバーの値を取得する

Insert後にオートナンバーのKEYを取得したい場合があります。
SQL文 "Select @@Identity" を実行し、取得します。

string query = "Insert Into User (name) Values ('山田一郎')";
string query_getkey = "Select @@Identity";

var connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Test.mdb";
using (OleDbConnection connection = new OleDbConnection(connectionString))
using (OleDbCommand cmd = new OleDbCommand(query, connection))
{
  connection.Open();
  cmd.ExecuteNonQuery();
  cmd.CommandText = query_getkey;
  var ID = (int)cmd.ExecuteScalar();
}

ASP.NET MVC でチェックボックスを作り、値を取得する

ASP.NET MVC の HTML ヘルパーのひとつ、CheckBoxFor は全く役に立ちません。これだけで ASP.NET なんて使い物にならないと思う方も多いですよね。

チェックボックスを作る最も簡単な方法はこうなります。

注意しなければならないのは、
使用する Model の 変数の型(以下のサンプルで言うところの Kiyaku)は bool にしておくことです。

@Html.EditorFor(m => m.Kiyaku)

bool にしているので、チェック ON で true が格納されます。

CheckBoxFor 意味ない。

C# ASP.NET MVC で bool を検証する

ASP.NET MVC のデータアノテーション(バリデーションチェック)において、bool ってどうやって判定するんだ?
と、迷ったのでメモ。
[Display(Name = "利用規約")]
[Range(typeof(bool), "true", "true", ErrorMessage = "{0}にチェックしてね!")]
public bool Kiyaku { get; set; }

MVC の @Url.Action で # を使い、遷移先の ID に移動する

こんな感じ。
こんな書き方があるのですね。

<a href="@Url.Action("Index", "Home")#Hoge">トップページに戻る</a>

「 間違ったフォーマットのプログラムを読み込もうとしました 」の解決方法

BadImageFormatException

ファイルまたはアセンブリ ' アセンブリ名 '、またはその依存関係の 1 つが読み込めませんでした。間違ったフォーマットのプログラムを読み込もうとしました。

もはや意味がわからないw

プラットホームターゲットの変更


プラットホームターゲットの変更

エラーメッセージで検索をすると、プラットホームターゲットが 32bit と 64bit で違うから AnyCPU に変更してビルドしよう!
という回答が散見されます。

早速 試してみましたが…私の場合はこの方法では解決できませんでした。

アプリケーションプールの詳細設定を変更

次に試したのは、IIS のアプリケーションプールにある詳細設定から、下記の 2 点を変更する方法。

IIS のアプリケーションプールの詳細設定


  • 32 ビットアプリケーションの有効化 を True に変更
  • ユーザープロファイルの読み込み を True に変更

これで見事エラーが解消され、サイトが稼働するようになりました。

アプリケーション内に、32bit のライブラリが含まれている場合、アプリケーションプールの設定で 32bit アプリケーションを有効化しないとダメですね。
サードパーティー製のライブラリを使用する場合は、きちんと把握しておきましょう。

Bootstrap のモーダルを Esc で閉じなくする

属性値 data-keyboard="false" を追加する。

<div class="modal fade" id="sampleModal" data-keyboard="false" tabindex="-1">

</div>

EPSON Scan が 応答なし になる(Windows10)

EPSON Scan でスキャンする際に、ページ追加の確認が「 応答なし 」になり、それ以上スキャンができなくなる現象が発生しました。

以前はスキャンできていたにもかかわらず、です。
Windows のアップデートでこのような不具合が出ているのか、以下のドライバーを入れることで直りました。

https://www.epson.jp/dl_soft/readme/26076.htm

(このドライバーも意味不明な場所にファイルを解凍しようとしたので、解凍ソフトから任意の場所に手動でファイルを解凍しました)