コードスニペット

/ .NET

なんというか、今更感ありまくりですが、Visual Studioのコードスニペットの話。
正直、今までコードスニペットのお世話になることはほとんどなかったので(たまーにリファレンス代わりに出してみる程度)、スニペットの自作方法を知らなかったのですが、調べてみるとXMLでチマチマ書かなければいけない様子。
こんなん手打ちするくらいならコピペコードで済ませたるw、と言いたいところですが、最近のコードはお約束的な記述が必要な箇所がやけに多くてしんどいので、コードスニペット作成用のツールを物色。

で、使ってみたのが、VS2010の拡張機能マネージャでランキング上位に挙がっていた「Snippet Designer」。
英語のツールですが、基本的な使い方は簡単で、スニペット化したいコードを選択してショートカットメニューから「Export as Snippet」コマンドを実行すると、新しいウィンドウに編集画面が現れます。
データ型や変数を編集できるように設定したい場合は、編集画面で対象の文字列を選択してショートカットメニューから「Make Replacement」コマンドを実行すると、選択されている文字列がキーワードとなって置換設定ができるようになります。
また、プロパティウィンドウの「Shortcut」に適当なキーワードを設定しておくと、キーワードの一部+[TAB][TAB]押下でインテリセンス呼び出しができるようになるので、更なる入力効率向上が狙えます。
編集が済んだら、適当な名前をつけて保存すれば登録完了。
登録したスニペットは、「表示」-「その他のウィンドウ」メニューにある「Snippet Explorer」で検索、再編集することができます。


バージョンリダイレクト

/ .NET, Database

Oracle ODP.NETの話。
ODP.NETは11gからWindows7に対応しています。
Win7対応アプリの開発なので、11gクライアントをセットアップした開発環境でビルドしているわけですが、ビルドしたモジュールをそのままWinXP+10gクライアントな環境で動作させるとデータベースにうまく接続できずにエラーとなります。
参照しているODP.NETのアセンブリバージョンが合っていないために発生する事象ですが、これを回避すべく「アセンブリバージョンのリダイレクト」という仕組みを試してみました。

方法としては、次のようなアプリケーション構成ファイル(app.config)を用意するだけ。
ハイライト部がバージョンリダイレクトの指定になります。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<runtime>
		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
			<dependentAssembly>
				<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" />
				<bindingRedirect oldVersion="2.112.1.0" newVersion="10.2.0.100" />
			</dependentAssembly>
		</assemblyBinding>
	</runtime>
</configuration>

本来は旧バージョンを下位互換のある新バージョンに置き換えて利用するための仕組みですが、バージョン依存した特別なことをやっていなければ、逆パターンでも普通に動いてくれているようです。