2005年11月29日

VSが賢くなりました

いや、当然なんだけど・・・。

VS2003のころ、あるカスタムコントロールを作ったことがあります。
いたってシンプルなもので自分が貼られているWinFormを取得して、そのWinFormに貼られているComponentの一覧を取得できるようにしただけのもの。

で、VS2003のころは、このコントロールが貼られた瞬間でこの作業を使用とするとタイミングが悪いらしくかなり面倒なことをしないといけなかった。
Me.ContainerとするとVSのDesinerHostクラスを取得して、そこから自分にキャストすることすらできないときもあった。
そのため、リフレクション使ってかなり無理くり取得してたんだけど・・・。

VS2005で同じことを試したら、同じタイミングでもMe.Container.Componentsで余裕に取得できた。
う〜ん、こういう微妙なところも変更が入ってるあたりがうれしい。
おかげでかなりコード量を減らすことができました〜。
posted by libaty at 23:54| 東京 ☀| Comment(6) | TrackBack(0) | VSTS | このブログの読者になる | 更新情報をチェックする

VS2005でCustom Actionを定義したら・・・

現在、目下VS2005のアドインをどうやって作るか勉強中。
今日は、とりあえず適当なコードを作って、どうやってインストーラを作るか勉強してみた。

VS2005からはアドインの登録方法がレジストリからXMLファイルに変更になり(旧来の方法も使える模様)、以下のフォルダにそのXMLファイルを配置しろとのこと。

・All User
C:\Documents and Settings\All Users\Visual Studio 2005\Addins
・自分のみ
C:\Documents and Settings\<username>\My Documents\Visual Studio 2005\Addins
参考:MSDN2 - Add-In Registration

MSDN2 - How to: Upgrade Visual Studio .NET 2003 Add-ins to Visual Studio 2005 by Using XML Registration (Managed)では、
<drive>:\Document and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins
または
<drive>:\Document and Settings\yourusername\Application Data\Microsoft\MSEnvShared\Addins

と記載されている。どっちが正しいのやら・・・
どっちにしても、XMLファイルにはDLL名をフルパスで記載してあげないといけないのでたとえば、Program Filesの下にインストールしたかったらインストールしたあとにXMLを編集しないといけない。

となれば、Custom Actionの出番ということで以下のようにしてみた。
1.新しい項目の追加でInstaller Classを追加
2.Install / Commit / Rollback / Unintallのメソッドをオーバーライド
3.Setup ProjectでCustom Actionを追加

で、試しにコンパイルして、C:\Program Files\以下にインストールしてみようとしたら・・・。
file:///C:\Windows\System32\Files\AppName\ClassLibrary1.dllが見つかりませんというFileNotFoundExceptionが・・・。

VS2003はこれで普通にいけたのに・・・。
でも、エラーをよっく見てみるとFilesより先はインストールした場所を指そうとしている。
もしかして・・・、パスの解決間違ってる?
C:\Windows\System32\からインストールした場所に移動しようとして、間の空白でひっかかってるとか・・・。文字列をダブルコーテーションでくくらずに使おうとしてるとか・・・。

とりあえず、空白が入らないパスで試してちゃんと動くようならバグの可能性もあるかもしれないな〜。
posted by libaty at 00:16| 東京 🌁| Comment(0) | TrackBack(0) | VS-AddIn | このブログの読者になる | 更新情報をチェックする

2005年11月26日

(続)アドインで構成ファイルを使いたい

昨日の続き、、、
自分でAppDomainを作ってしまえばいいって感じで試してみたけど、
どうもVSとの通信の部分がうまくいかない。
Projectのキャストとか失敗しまくる・・・。
きっと、なんか悪いんだろうけど。

で、AppDomainを作らないで、AppDomain.CurrentDomain.SetupInformation.ConfigurationPathを書き換えるには?

AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", filePath);

でできそうな感じだった。
試してみたところ、
devenv.exe.configから自分の構成ファイルに切り替わってた。
まだ、ちゃんと検証できてないのでそれは検証が出来次第ってことで。
posted by libaty at 01:12| 東京 ☁| Comment(0) | TrackBack(0) | VS-AddIn | このブログの読者になる | 更新情報をチェックする

2005年11月25日

アドインで構成ファイルを使いたい!

VS2003でもVS2005でも一緒なんですが(たぶん)、
基本的にはVSアドインで構成ファイルを使うことはできない(はず)。

というのも、たとえば、ConfiurationSettings.AppConfigプロパティは
AppDomain.CurrentDommain.SetupInformation.ConfigurationPathで設定されている構成ファイルを読み込みに行くんだけど、VSアドインだとこの値はdevenv.exe.configになっている。
つまり、VS自身の構成ファイルが読み込まれてる。

で、AppDomain.CurrentDommain.SetupInformation.ConfigurationPathはReadOnlyプロパティではないから、これを自分の構成ファイルのパスに書き換えてしまえ!と思ったら、ものの見事にはじかれました(ーー;)

続きを読む
posted by libaty at 00:56| 東京 ☀| Comment(0) | TrackBack(0) | VS-AddIn | このブログの読者になる | 更新情報をチェックする

2005年11月23日

cerviで実験中

一部では報告してるんだけど、ついに、やっとcervi契約
.NETベースで自分のホームページを作ろう作戦展開中です

で、cerviではサブドメインを10個まで持つことが出来るということで。
Community ServerベースのBlogをcsサブドメインに
お友達のサイトをxxx(名前未定)サブドメインに
って感じで展開することを計画したわけですが・・・。

続きを読む
posted by libaty at 11:53| 東京 ☁| Comment(0) | TrackBack(0) | .NET | このブログの読者になる | 更新情報をチェックする

2005年11月22日

WorkItemTrackingあれこれ

まぁなんていうか、WorkItemの中に計算された値を持ちたいなんて要望が・・・。
Ex) 作業基準時間 - 実績作業時間 = 予定残り作業時間

WorkItemでレポーティングのような値を持たせたいと思う理由には疑問を感じるけど、
まぁ、お客様の要望なので。
でも、WorkItemTrackingのコントロールにはこんな機能をサポートしているものはない。
ということで、どうするか?

答えは、Notification Servicesを使いましょうということらしいです。

例えば、WorkItemが保存された場合には、Notification ServicesよりWorkItemChangedEventが発行されます。これをハンドリングできるWeb Serviceを用意しておいて、そのロジックの中で計算させて、WorkItemを保存しなおすという作業をするのが手っ取り早いらしい。

唯一の問題は処理がサーバー側で行われるから、クライアントには瞬時に反映されないこと。
一度、リロードしないといけないあたりが微妙にできてるんだけどユーザーエクスペリエンスはいまいちだよな〜と思ってしまう感じです。
posted by libaty at 23:40| 東京 ☀| Comment(0) | TrackBack(0) | TFS | このブログの読者になる | 更新情報をチェックする

2005年11月17日

the Microsoft Conference 2005行ってきました

ものすごい人数がいてびっくり。
やっぱりそれだけ注目のものなんですね〜。

基調講演はVisual Basic 2005について聞いてきましたが
最後にちょっとだけLINQの話もあってそれなりに楽しめました。

セッションは200のシリーズだったのでほとんど聞いてませんが、
スポンサーパビリオンはなかなか面白かったです。
各社、IA64系のサーバを持ち込んだりしてがんばってるな〜って感じも。

私が注目して聞いてきたのはGrapeCityでしたが・・・。
InputManやEl Tabelle, SPREADなどはカレンダーイヤーで来年1クォーター〜2クォーター中くらいには対応してくるようです。
詳細は
http://www.grapecity.com/japan/Support/Database/C19586_News.htm

デモでいろいろ見せてもらいましたが新機能もかなり充実しててそれはそれでいい感じでした。
ただ、話を聞く限りでは初回起動時の性能改善は無理だったようで。
あと、この前発表されたInputMan Web Editionの2005対応はまだ検討中段階らしいです。
posted by libaty at 22:46| 東京 ☁| Comment(0) | TrackBack(0) | .NET | このブログの読者になる | 更新情報をチェックする

2005年11月15日

Visual Studio Team Suite Japanese

先週末にようやっとVisual Studio Team Suite Triel Englishをインストールしたのに・・・。

MSDNサブスクライバダウンロードには今日付け(11/15)で
Visual Studio 2005 Team Suite Release Candidateが登録されてた・・・。

ダウンロードページを見ると180日お試し版と書いてある。
Triel版も同じだったのでもしかして同じ機能の日本語版?

かなりショックだから1ヶ月くらい放置しようかな・・・。
posted by libaty at 15:26| 東京 🌁| Comment(2) | TrackBack(0) | VSTS | このブログの読者になる | 更新情報をチェックする

Enterprise Library リリーススケジュール

Enterprise Library日本語サイト(http://enterpriselibrary.jp)のフォーラムによると
Enterprise Library 2.0は年内中にもリリースされるようです。

現在は、GotDotNet WorkspaceのEnterprise Libraryのページに登録しているメンバー向けに
Enterprise Library November CTPが公開されているようです。
posted by libaty at 10:08| 東京 🌁| Comment(0) | TrackBack(0) | EntLib | このブログの読者になる | 更新情報をチェックする

2005年11月14日

LoggingABを使ってみる

今まではlog4net使ってたんだけど、Enterprise Library全般を〜と思って
今度はLoggingABの使い方をお勉強。
参考はもちろん、市川さんのサイト&@ITの記事
Enterprise Library jp(http://enterpriselibrary.jp/)
@ITのLoggingABの解説(http://www.atmarkit.co.jp/fdotnet/entlib/entlib04/entlib04_01.html)

で、こそこそとやってみる。
いろんなところに出力できたり、Text Formatter(ログ出力項目のレイアウト決めるやつ)も
こそこそといじれたり、なかなかいい感じ。

とりあえず、ログ項目については自分たちにとって必要な項目を全部取れるように
どっかを拡張しないといけなさそう。
さて、どこを拡張すればいいのやら。

EHABとあわせてたぶん2箇所くらいどっか付け加えないといけなさそうだから要調査。
posted by libaty at 23:44| 東京 🌁| Comment(0) | TrackBack(0) | EntLib | このブログの読者になる | 更新情報をチェックする

2005年11月11日

.NET Framework 2.0が

.NET Framework 2.0の32ビット版がMicrosoft Updateに公開されてたよ〜
#もしかしなくてもかなり出遅れたかもw

ついに、.NET 2.0も展開準備が始まったんだなと思うと
ますますVS2005の日本語版が待ち遠しい今日この頃。
posted by libaty at 18:58| 東京 ☁| Comment(0) | TrackBack(0) | .NET | このブログの読者になる | 更新情報をチェックする

2005年11月08日

EHABを使ってみる

ようやっとEnterprise LibraryのEHABを使ってみた。
設定もコード書くのも結構簡単。
EMABと比較すると例外ハンドラが追加された点とかほかのApplication Blockと連携できる点
あたりでかなりのアドバンテージがあると思った。
でも、Logging Handler使ってもEMABのときと同様のAdditional Infoしかロギングされない。
いろいろ調べて、HTTP系の情報をロギングできるカスタムハンドラを作ってみようと思う。

#要望があれば&つたないコードでよければ公開するかも。
posted by libaty at 23:41| 東京 ☀| Comment(0) | TrackBack(0) | EntLib | このブログの読者になる | 更新情報をチェックする

2005年11月07日

Process Template Editorを使ってみる

ちょっと前に書いたProcess Template Editor Alpha版
http://libaty.seesaa.net/article/8666604.html

今日は試しにちょっと使ってみた。
これがないとXMLファイルをテキストエディタで修正しないといけないから
それから比べたらずいぶんまし。
TFSサーバにつなげて作業することでそれなりにValidationもやってくれるし、
結構簡単にWITのフィールドやら状態、状態遷移が定義できる。
レイアウトもそれなりに見た目を確認しながらできるからないよりは全然いい。

でも、
WIT内にGlobal Listが定義してあると例外が発生して落ちたり、
レイアウト定義するところがやたらめったら遅かったり、
状態遷移が状態遷移図で書くんじゃなくて、単にテキストの編集だったり
とまぁまだまだこれから感が満載。

まだまだAlpha版だからね。これからどうなっていくか楽しみ。
posted by libaty at 23:28| 東京 ☀| Comment(0) | TrackBack(0) | TFS | このブログの読者になる | 更新情報をチェックする

2005年11月04日

Work Item Typeで使えるControlの種類

Work Item Typeを定義する際、Work Item Typeの各フィールドをフォームにどのように表示するかの設定を行います。

以下は、そこで使用できるコントロールの一覧です。
・FieldControl
 テキストボックスを表示する。リスト項目の場合はComboBoxになる

・HtmlFieldControl
 フィールドの型がHTMLの場合に、このコントロールを指定するとフォームに
 複数行のテキストボックスを表示することができる

・DateTimeControl
 フィールドの型がDateTimeの場合に、このコントロールを指定すると
 フォームにカレンダー表示機能つきのテキストボックスが表示される。

・TFStructureControl
 AreaやIterationなどのツリー構造になっているものを
 フォームでもツリー構造で表示できるようにする。

・AttachmentControl
 WorkItemにファイルなどを添付するための機能をもったコントロールを表示する

・LinksControl
 WorkItemにURLなどのリンクを設定する機能をもったコントロールを表示する

・WorkItemLogControl
 WorkItemの変更履歴を表示する機能をもったコントロールを表示する

HTMLFieldControlやDateTimeControlやExtensibility KitやVS SDKにもドキュメントとしては記載がないので知ってると便利かも。
posted by libaty at 11:45| 東京 🌁| Comment(0) | TrackBack(1) | TFS | このブログの読者になる | 更新情報をチェックする

Visual Studio SDK

Visual Studio 2005 SDKのOctober版がVS Extensibility Centerで公開されてました。

今回から、Visual Studio Team System Extensibility Kitもこちらに同封されているようで
Extensibility Kitを心待ちにしていた方は即ゲットですね。

内容のほうは・・・
 Reportingに関するところはあまり更新がされていないような感じ
 Work Item TypeやWork Item Object Modelのあたりは多少詳しくなったような感じ
がします。

あとは詳細に見るべしということで。
posted by libaty at 10:08| 東京 🌁| Comment(0) | TrackBack(0) | TFS | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。