.Net アプリケーションは DLL(アセンブリ)をロードする場合、Exe と 同じフォルダ、もしくは、グローバルアセンブリキャッシュ(GAC)を検索します。しかし、probing , codebase, developmentMode といった手法を使用すると検索範囲を拡張したり変更する事…
Excelのセル参照文字(A1やB2など)は列をアルファベットで表します。 数値で表すR1C1参照形式もありますが今日は1・2・3という列番号からA・B・Cという列参照文字を取り出してみます。アルファベットが26種類であるため26列目まではA-Z、27列目からはAA、AB、AC…
アセンブリを参照設定する際に「厳密名」というキーワードが出てきます。「厳密名」とは何か、参照設定での違いはあるのか、実行時にどのように動くのか調べてみました。 厳密名とは 厳密名とは、以下の4つの属性を使ってアセンブリを一意に識別する名称で…
.Net Frameworkでは、アプリケーションの配置はXCopyによる配置が主流であるためExeとDLLの場所が異なる場合は、あまり多くありません。殆どの場合、Exeの場所を求めれば課題を解決することができるため、DLLのパスを取得する必要性は以前ほどなくなってきて…
Windows 2008 R2 SP1 から仮想マシンのメモリ割り当てを必要量に応じて動的に変更する事ができるDynamic Memory機能が追加されたので実際に使用してみました。 Dynamic Memory は、ホストOSとゲストOSとの間でメモリ割り当て/メモリ解放を行う仕組みで、メモ…
Apple Wireless Keyboard (JIS) を 購入してみたのですが、やはりMac向けのキーボードなのでWindowsで使うと制限がありました。私が設定した内容と設定方法についてメモを残したいと思います。 最初は Apple Wireless Keyboard Helperを利用していたのですが…
Windows 2008 R2 のHyper-V機能を利用して個人向けにウインドウズ環境を提供するクラウドサービスがいくつか始まっています。そうしたニーズが高まってきているのも原因の1つですが、Windows 2008 R2 のライセンス形態が非常に魅力的な事がビジネスを後押し…
■バージョン番号の各セクションの意味 アセンブリに設定するバージョン番号は、[3.1.5.1] というように4つセクションで構成されます。まず、MicroSoftは以下のルールでセクションごとに意味を持たせています。 メジャー番号 (主要な機能をアップデート/リリ…
この記事は Hello Another World! さんのところで公開されている Excel 2003 の CSV と 文字エンコーディング の関係http://cs.albis.jp/blogs/ms-18e/archive/2006/08/07/Excel-2003-_6E30_-CSV-_6830_-_8765575BA830F330B330FC30C730A330F330B030_-_6E30A2…
GrapeCityなどのベンダーのコンポーネントを使用している場合に、正規ライセンスを購入しているのにトライアル版のダイアログが出てしまう事があります。製品版を使っているのにトライアル版のダイアログが表示されるhttp://www.grapecity.com/japan/support…
アプリケーションの実行パスを取得する方法について調べると実にさまざまな方法が見つかります。どの方法でも実行ファイルのパスを取得できるようなのですが、では実際にどの方法を使えばいいのか。一番良い方法はどれなのかを検討してみました。まずは、Goo…
Webサーバ側で読み込んだファイルをダウンロードさせるにはResponse.WriteFile([FilePath]) を使用します。その際Response.Buffer を Trueに設定する事でクライアントへの応答をバッファリングしてくれます。(ダウンロードさせるファイルの種類にもよります…
WSSE認証は、HTTPのX-WSSEヘッダを使用した認証方式です。認証文字列は、ユーザー名とSHA1ハッシュされたパスワードで構成されるためパスワードが平文で流れる基本認証よりセキュアな認証が行えます。WSSE認証は、はてなでよく使われています。HTTPSの場合は…
コンピュータでランダムな値を作る場合は、サイコロを振るのとは違い計算によって求めます。そのため計算によって作ることから疑似乱数と呼ばれます。疑似という言葉が付くと乱数として不完全な物のように思えますが、コンピュータで作る乱数は、どの程度ラ…
ブログなどの更新通知に利用されるRSS/AtomフィードをSystem.ServiceModel.Syndicationクラスを利用して作成します。今日から日記にRSSをつけたので、よかったら購読お願いします。RSSはブログタイトルの右隣からどうぞ。 さて、今回はtekkの日記の2010年度…
Internet Explorerの場合 ・Windows XP [フォルダオプション]-[詳細設定]、「ダウンロード後に常に開くように設定する」のチェックを外す。(拡張子別に設定可能)・Windows Vista / 7 「HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExec…
■.Net Frameworkがインストールされているかどうかの確認。 .Net Framework がインストールされているかどうかは%SystemRoot%\System32 ディレクトリ(SystemRoot環境変数のSystem32サブディレクトリ)に、MSCorEE.dllが存在するかどうかで確認することが出…
前回、どんなオブジェクトでもコピーできる処理を作ってみました。今回は、クラスが異なる場合でもプロパティの名前さえ一致すればディープコピーできる処理について整理してみました。どんなオブジェクトでもコピーできる汎用のディープコピー処理(IClonea…
webarenaのVPSサーバが停止してしまったので、その際のトラブルシューティングのメモ。 現象 ・すべてのウェブサイトが 403 Forbidden を返す。 ・SSHDが接続できない。 ・工事障害情報に特に自サーバに対するメンテナンスは無い。(http://web.arena.ne.jp/…
文字幅を取得するWindows32 API のメモ ・GetCharWidthFloat ・GetCharABCWidthFloat ・GetCharWidth(文字セル幅にOverHangが足された値になる) ・GetCharABCWidths(TrueType以外に使用不可) ・GetCharacterPlacement ・GetCharWidth32 文字本体の幅をB幅、…
参照設定しているアセンブリ(DLL,Exe)がバージョンアップした場合にファイルを差し替えますが、バージョンが異なる場合、ファイルを差し替えてもバージョン違いとなりエラーが発生して起動する事ができません。対応方法としては、新しいバージョンに参照設…
ターミナルサーバへアプリをインストールする場合は、インストールモードを切り替えます。この操作を行わないと各ユーザにアプリを展開できない場合があります。 ■コマンドによる切替 change user /install インストールモードに切り替え change user /execu…
次の機能を実装しています。Hyper-vのエクスポート(export)機能を利用した簡易Backupツールです。 指定した任意のバーチャルマシンをエクスポートできます。(複数指定可能) 実行中のバーチャルマシンは状態を保存に遷移させてからエクスポートします。エク…
VBスクリプトで複数のファイルにわたって記載するためのテクニックです。基本的にVBスクリプトは1ファイルでしか作成できませんが、ExecuteGlobalを使用すると引数で渡した文字列をプログラムとして認識してくれます。 このテクニックをを利用してInclude文…
[オプション]-[プロジェクトおよびソリューション]-[ビルド/実行] 並行にビルドするプロジェクトの最大数。(CPUやコアの数に合わせて数字を調整する。複数のプロジェクトを並行でビルドすることが出来ます。)MSBuildで利用する場合は、/maxcpucount:3 (3…
シリアライズを利用した汎用のオブジェクトのディープコピー処理について整理しました。BinaryFormatterを使用してMemoryStreamに対してシリアライズ/デシリアライズを行いオブジェクトのメモリイメージのコピーを作成するテクニックです。理論上、Serializ…
.Net Frameworkに関する基本事項を取り扱うメールマガジンを発行することにしました。以下、内容の引用ですが興味のある方は、是非、登録ください。 きちんと学ぶ .Net Framework[C#]は、マイクロソフトの開発基盤である .Net Framewo rkの基本事項を体系的…
キーと値を持つコレクション。非ジェネリックでは、HashTable,SortedList、ジェネリックではDictionary,SortedListと4種類のコレクションがありますが大文字・小文字を無視する際の記述方法が異なります。非ジェネリックは、使う場面も少なくなって来ていま…
TEDでユーモアと希望にあふれたインターネットに関する講演があったので紹介したいと思います。 ジョナサン・ジットレイン 「親切に支えられたWeb」 http://www.ted.com/talks/lang/jpn/jonathan_zittrain_the_web_is_a_random_act_of_kindness.html インタ…
実行時の任意のアセンブリを動的に読み込むことは出来ますが、アンロードする場合はアプリケーションドメインごとアンロードする必要があります。Win32Apiでは、LoadLibraryとFreeLibraryによって該当DLLだけをロード・アンロードできましたが.Net ではアプ…