2010年8月24日火曜日

CLR/H ナイトセミナー #1 ツール自慢

8/18(水)に行われた CLR/H として初の試みとなるナイトセミナー。参加者は総勢9名。今回は全員が Twitter アカウントを所有しているなど、今までとは色々な意味で異なる集まりとなりました。まずは自己紹介、そしていきなりのおやつタイムですw

※ちなみに今回撮影用のコンデジを忘れていて、撮った写真はおやつとデジタルサイネージなTV画面だけなので割愛ですw

発表者ツール・書籍
@openlibsys さん痛IDE
@mucleus さんckwnyacus
@kagetiyo さんA5:SQL Mk2pupSQLiteFreeMindWinMarge
@naoki0311 さんOffice Web Apps、PowerGUIDeflagglerLINQPadCode Rush
@akai_inu さんTeamViewerEvernote
@nobuhisa_k さんNotepad++EditraIntypeMDIELispworksSugerSync
@plusism さん標準C#入門、VC#2008逆引きクイックリファレンス、ASP.NET MVC 実践プログラミング、jQueryプログラミング入門、プロフェッショナルマスターVC#2010、エッセンシャルWCF、addgadget.com
@twit_ahfPencilDB DesingerMySQL Workbench、SoftEther、UT-VPNSnarpcrabHawkeye
@jsakamoto さんPencil
※私の発表の際のスライド:ここ

全体を通して、皆さんのおすすめ度合がはっきりと感じ取れる面白い集まりになったと思います。こう見ると利用するツールというのは、利用者の性格を表しているのかも・・・。意外だったのが、それほど紹介しようとしたツール類がぶつからなかったこと。そしてエンジニアであればやはりお勧めしたくなるツールは何かかしらある、という事でしょうか。

今まで行ってきたセミナースタイルと異なり今回のようなライトなスタイルも十二分にあり、というか気楽でいいなぁなどと感じたナイトセミナーでした。

2010年8月13日金曜日

Report Viewer 2008 を BootStrapper として配布する際の注意

前回のエントリで Report Viewer コントロールのバージョンアップ自体は特に問題なく行えることが確認できたので、ユーザー先の配布用にインストーラを構築していてしばらく困っていたのでメモ。

色々な手段で(w)Report Viewer 2008 のパッケージを用意し、さて必須パッケージとしてチェックしてビルドすればOK、みたいに思っていたらVS上のダイアログに Report Viewer 2008 が表示されてこなかったのよね。

で、とっちゃんさんの助力のおかげで Report Viewer 2008 の product.xml にてProductCode の記述が誤っているのが発覚。何故かここが、

Microsoft.ReportViewer.8.o

となっているけど、これは Report Viewer 2005 の ProductCode と同一なのでVS上で重複として扱われ、結果必須コンポーネントのダイアログに表示されてこなかったという話で。なので対応としては、上記 ProductCode の値を

Microsoft.ReportViewer.9.o

と書き換えてあげればOK。

2010年8月12日木曜日

Report Viewer コントロールのバージョンアップ

今までは 2005 の Report Viewer コントロールで帳票プレビューとか行っていたんだけど、どうしても pdf で文字化けとか解決してくれない問題が放置されていたので、2008 と 2010 の Report Viewer コントロールを利用してみた。

自分の開発用ライブラリで Report Viewer コントロールをラップするような形にしてあるので、うまくいけば再頒布パッケージの導入のみで済むかな、と思って試してみるとこれが成功。

2008 も 2010 もどちらもロジックはそのままで、参照設定のみの変更でいけたw

ちなみに 2010 を利用する場合でも、旧フォーマット(2008 フォーマットでない)rdlc ファイルをそのまま扱えるので、移行する人は配布の事だけ考えればどうにかなりそうです。

2010年8月6日金曜日

Syetem.ServiceModel 3.0.0.0 が何故か呼び出されてしまう件

講習で教えているのもあり、WCF 4 で作成したサービスを IIS 7.5 にてホスティングしようとしていて四苦八苦したのでメモ。

開発用Webサーバではしっかり動作するのに、IIS に変えてみると

「System.ServiceModel.Activation.HttpHandler 3.0.0.0」

が読み込みに失敗している旨のエラーが出てしまう場合。エラー内容から、どこかの設定にて上記アセンブリを参照しようとしているのは何となくわかるんだけど、それがどこにあるかがわからなかったわけで。

IIS の設定としてハンドラーマッピングとモジュールがあり、そこを変更してもうまくいかないんだよねぇ(まぁ元々方法としてどうよ?だけど)

で検索して色々調べていると、ご飯党(@shusoku)さんという方がそのものズバリな事をつぶやいていました。

sc0000

これに従う形として、サービスプロジェクト側の web.config に手作業で <modules>セクションと <handlers> セクションを <system.webserver> セクションに追加。こんな感じ

<modules>
    <remove name="ServiceModel"/>
    <add name="ServiceModel" type="System.ServiceModel.Activation.ServiceHttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<handlers>
    <remove name="svc-Integrated" />
    <add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModell.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" resourceType="Unspecified" requireAccess="None" preCondition="integratedMode" />
</handlers>

どうやら IIS 7.5 をインストした際の初期設定では .NET 4 用の設定があるんだけどうまいこと利用されない、ということらしい。

とりあえずこれでサービスが無事動作するところはOKでした。