2010年12月15日

NunitテストをAzure上で実行

NunitテストのデータベースがSQL Azureの場合非常に時間がかかります。おそらくテストプログラムはローカルPCで実行、SQL Azureはインターネット経由で接続するため。

やはりSQL AzureのテストはWindows Azure上で実行すべきですが。ネット上で検索しても、Azure上でNunitテスト実行に関する情報が少なく、NunitLiteで使う方法が載ってるぐらい。でもこの方法はいろいろ設定が必要みたい。

幸い今回のテストコードTest、Setup、TearDown属性しか使ってないので、TestFixtureクラスを解析して、テストコードを実行するプログラムを作って、Azure Roleから実行するようにしました。

SQL AzureにASP.NETメンバーシップ、ロールデータベース構成

ASP.NETメンバーシップなどの機能を利用する場合、aspnet_regsql.exeツールを使って、データベースを構成しますが。SQL Azureに対してこのツールを使うとエラーになります。

その問題を解消するため、MSDNのサイトでSQL Azure用のスクリプトが公開されました。

2010年11月24日

Windows Azure Web RoleをIISで動かす

ローカル環境でWindows AzureのWebRoleを動かす方法ですが、下記方法があります。

  1. Development Fabricシミュレータ
  2. ASP.NET開発サーバー (スタートアッププロジェクトをWebRoleプロジェクトに設定)

ただし上記方法ではlocalhost(127.0.0.1)しかアクセスできないっぽい、またASP.NET開発サーバーが急に遅くなったら不安定、なのでIISでデバッグする方法を試みた。手順は下記通り

2010年11月18日

Visual StudioでNUnitを使おう

Javaで開発した時、よくJUnitを使いますが、.NETも似たようなテストフレームワークNUnitがあります。

使い方は簡単

  1. Nunitをダウンロードしてインストール
  2. Nunitを起動して、「File」⇒「Open project..」メニューでテストコードを含むDLLを開く
  3. 「Run」ボタンを押して、テスト実行

2010年10月13日

SQL Server 2005/2008 のネットワーク接続

ネットワーク経由でSQL Server 2005/2008 にアクセスしたいですが、恐らくセキュリティ関係上デフォルト状態ではネットワーク接続できないようになっているので。ネットワーク接続できるように設定しました。主な設定手順は

  1. SQL Serverサービス設定:TCP/IPを有効
  2. SQL Server Browserサービス設定:ネットワークサービスアカウントに設定
  3. ファイアウォール設定(SQL Server Browser)
  4. ファイアウォール設定(SQL Serverサービス)

詳細は下記通り

2010年10月12日

Visual Studio LightSwitch Beta:IISへのデプロイ

先日MicrosoftからVisual Studio LightSwitchがアナウンスされました。早速Beta版をダウンロードして使ってみました。

簡単に言えば、LightSwitchはDBを設計、画面をデザインするだけで、アプリケーションができるツールです。もちろんできることや制限がいっぱいあります、詳細について今度書きます。

今回はまずLightSwitch Beta版で作成されたアプリケーションはIISにデプロイし、ブラウザで動作確認します。

IISへのデプロイ手順は下記通り

2010年9月30日

Thinkpad X201sにHyper-V導入

2週間ほど前注文したThinkad X201sついに届いた。ThinkpadはX31⇒X61⇒X200の順で使ってましたが、今回は4台目になります。Hyper-Vを使うため、早速Windows 2008 Server R2をインストールしました。

事前に収集した情報ではHyper-VとインテルのVGAドライバが衝突して、PCが起動できなくなる問題があるようです。対処方法は二つ

  • Windows 2008 Server R2 + 標準VGAドライバ+Hyper-V
  • Windows 2008 Server R2 + SP1(Beta) +インテルVGAドライバ+Hyper-V

標準VGAドライバでは1440x900を選択できないようなので、せっかくのWXGA+が使えないのはもったいないので、後者にしました。