2012年8月1日水曜日

Visual Studio 2008 SP1でのClickOnce

Visual Studio 2008 SP1で、デフォルト設定のままClickOnce配置を行うと以下のようなエラーが出てしまいました。

「アプリケーションをダウンロードできません。アプリケーションに必要なファイルが不足しています。アプリケーションのベンダに問い合わせてください。」

詳細ボタンをクリックしてログを確認しますと

System.Deployment.Application.DeploymentDownloadException

という例外が発生しており、

XXX.XmlSerializers.dll.deploy

というファイルのダウンロードに失敗しています。

回避策として、

発行タブ→アプリケーションファイル

XXX.XmlSerializers.dll.deployを「含む(自動)」から「除外」に変更し、
ダウンロード対象から外す。

ClickOnce、SP1適用後は未適用時と違い、なにかとデフォルト値が変わっているので、注意が必要です。

2012年6月29日金曜日

Go Azure

仕事で参加させて頂きました。

クラウド利用のあらゆるニーズに応える Windows Azure の進化
Opening & Keynoteということで新機能の簡単な紹介&デモと導入事例の話でした。
思っていたよりデモが充実していて、後半のTechnical Sessionと内容が重複してしまったのはやや残念なところでした。これだけ聞いて帰る人には良かったのかもしれませんね。
iPadを使って、電気自動車を遠隔操作するビッグデータのデモはなかなかの見物でした。あえてiPadというもの味噌で、クラウドならばデバイスは問わないというデモでもありました。


新機能 "Web サイト" で実現する Web アプリケーション高速開発
~ PHP も Node.js も OSS も ~

WebMatrixやVisualStudioから簡単にWebサイトを公開出来る事に目から鱗が落ちました。これなら簡単に自分でも出来る!!そんな感じです。
後、JAVAも動けば鬼に金棒かもしれませんね。

IaaS 始めました
~自社内にある Windows も Linux も、そして SQL Server も Azure の上で~

今回一番聞きたかったセッションでした。
ほんの数分で仮想環境を構築出来るとこに驚きました。
既存のVHDを公開する方法までの話が無かったのは残念なところでした。
少なくても、外部に公開しているWebサーバーはこれに移行出来そうな手応えを感じました。
社内サーバーはオフコンとの絡みもあるので、ちょっと難しいかなと思っています。
とはいえ、非常に魅力的な機能に見えています。

Windows Azure におけるデータ中心クラウド サービス開発事始め
SQLデータベースで、主に大規模ユーザー向けの機能のセッションでした。
私のような小規模ユーザーのSEには縁の無い機能なので、やや退屈なセッションとなってしまいました。

マイクロソフトは本当にオープン ソースに対してオープンか?
セッションスピーカーが大学の教授ということもあり、電話の歴史や国際機関の話から始まりました。学生時代の情報系の授業を聞いているような感じで、前回に引き続きやや退屈な感じでした。
ただ、デモが始まりましたら、一気に目が覚めました。
Linux+MySQL+JAVA環境という非MS環境をWindows Azureに乗せるというデモでした。
JAVAなので開発環境もNetBeansでした。個人的にはEclipseで行って欲しかったですが(苦笑)
ただ、時間の関係でやや駆け足になってしまったのは残念でした。
非MS環境でのデモは珍しいので、是非ともゆっくり見たかったです。

まとめ
Windows Azure、今までは具体的な用途を見いだせず敷居の高さばかりを感じていましたが、今回の新機能でありますWebサイトとVirtualMachineにはとても興味を持ちました。
実際にテストしてみたくてうずうずしてしまいました。
MSDNの特典で確か出来たと思いますので、今の案件が片づいたら、手を出してみようかと思っています。

会場内の感想
自分もiPadを持って行きましたが、iPadの所有率の高さを実感しました。
また、MacBookAirでWindows7を動かしいる強者の女性もいました。
遠目なのではっきりしませんが、仮想環境ではなくおそらくはBootCampと見受けました。
Wifi環境と、充電スタンドが備わっていたことにも新しい時代になったなと感じました。
Wifiは3Gよりも速かったので、重宝させて頂きました。
iPadも良いんですが、MSのイベントですしやっぱりWindowsPCが手元に欲しいなと痛感しました。
Windows8が出たらウルトラブックを買おうかなと思ってしまいました(苦笑)

2012年6月18日月曜日

VSUG Day 2012 Summer

2年ぶりのフル参加となりました。

【基調講演】「Window 8 Metro スタイル アプリの特徴と開発の注意点」
セッション内容は非公開なので、コメントはなしです。

「JavaScript + HTML5 と C# + XAML で作る Windows 8 アプリ」
デモでMetroアプリの開発手順を見ることが出来、基礎を学ぶ事が出来ました。
ちょっとしたことなら簡単に出来そうですが、こり始めると間違いなくドツボにはまってしまいそうな危うさも同時に感じました。
とは言え、数年後には間違いなくMetroアプリの開発は行っていると思うので、良い勉強になりました。

「デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革」
今後のPCには否応なしにタッチ機能が入ってくる。
ディスプレイの高解像度化がどんどん進んでいく。
なので、デスクトップアプリもそれに対応して行く必要があると言うセッションでした。
話を聞いていてなるほどなと思いました。
高解像度化といえば、先日Retinaディスプレイ搭載のMacBook Proが発表されました。
きっとWindows陣営も追随して行くことでしょう。
タッチ機能もコンシューマ向けPCにはどんどん搭載されていくことになるでしょう。
(ビジネス向けはコスト最優先だから搭載は遅いと個人的には予測しています。)

対応方法としてはグレープシティの製品を買って下さいという宣伝でした。

「ASP.NET MVC 4 入門」
ASP.NET MVCの歴史を振り返りながら、新バージョンでのデモが行われました。
業務でJAVAを始めたことにより、MVCの理解度は上がっていますので、面白そうだなと感じました。
ただ、Webフォームでの開発効率の良さは何者にも代え難いです。

「Visual Studio 11 ~ アジャイルコンセンサスから継続的フィードバックまで」
一人で開発業務を行ってきたので、イマイチピンと来ない無いようでした。
今後は複数人での開発も行うことになると思いますので、まずはソース管理をどうするか、それが個人的な課題です。
出来ることなら、TeamFoundationServer2012の話が聞きたかったです。

「“滑らかな”メトロスタイルアプリを作るために -WinRT の非同期性を活用したアプリ開発-」
なめらかとは何か。それを考えさせられるセッションでした。
非同期プログラミング。今後の課題です。

「Metro スタイルアプリに向けた XAML デザイナーの変更点」
VisualStudio2012の新機能を知ることが出来ました。
旧来のWindowsフォーム、Webフォームでの開発が主なので、未だにXAMLは未経験です。
VS2010の導入はパスしてしまいましたが、VS2012の導入は行う予定です。
この機会にWindowsフォームからWPFへの移行を行ってみたいと思っていますが・・・。
Windowsフォームでのニーズは結構高いです。

【Lightning Talk】
.net frameworkでのZIPファイルの扱い方
Lightning Talkって、5分勝負だったと思うのですが、15分話されていました。
ダブルバイトは文字化けをしてしまう。MSさん何とかして!
という話でした。
英語でフィードバックを行い、MSに仕様変更させたのは凄いと感じました。

Metroアプリので印刷方法
こちらも5分以上話されていました。
Metroアプリので印刷、将来自分も開発する可能性がありますので、とても勉強になりました。

まとめ
自分にとっては2年ぶりのフル参加。しかもWindows8 VS2012のリリース直前というタイミングでしたので、最新情報を入手するのにとても勉強になった1日でした。
1日時間をくれた奥様に感謝です。

スピーカの皆さんが、Windows8とVS2012のRCでデモを行っていたことに、とてもうらやましさを感じてしまいました。
自分にはネイティブでお遊び出来る環境が無いので・・・(VMで何とかするしかない)

RTM版がリリースされましたら、安心してアップデート出来るので、RTM版がとても待ち遠しいです。

2012年3月26日月曜日

IIS上でHIML5のVideoタグを使うときの注意点

IISのMIMEの種類でファイル拡張子を指定する必要がありました。

IISマネージャーを開きます。
mp4を格納した仮想ディレクトリのプロパティを開きます。
「HTTPヘッダー」-「MIMEの種類」に登録します。
IIS_MIME

2012年2月14日火曜日

検索ボックス自動入力(学習機能付き)

以前、Googleツールバー代替方法でアドオンの「SearchBox Sync」を紹介しましたが、こちらではGoogleのトップページに入力した検索キーワードが検索ボックスの履歴には追加されないものでした。
不便なのでほかに何か良さそうなアドオンを探しましたら、「検索ボックス自動入力(学習機能付き)」にたどり着きました。
なかなか便利なアドオンで、「SearchBox Sync」から乗り換えました。

2012年1月19日木曜日

VB.NETからNotesDBの新規文書を作成する

自分の環境では「参照の追加」は不要ですが、環境によっては必要かもしれませんので、ご注意を。

        Dim session As Object
        Dim db As Object
        Dim doc As Object

        Dim strDominoServer As String
        Dim strDBName As String

        'NotesDB接続初期化
        ' ***NotesDBからの読み込み
        ' *** セッションの確立
        session = CreateObject("Notes.NotesSession")

        ' *** ノーツDBの取得
        db = session.GetDatabase(strDominoServer, strDBName)

        If (Not db.IsOpen()) Then
            ' *** エラーメッセージの表示
            MsgBox("データベースが見つかりませんでした", vbOKOnly + vbCritical)
            GoTo load_exit
        End If

        doc = db.CreateDocument

        doc.ReplaceItemValue("Form", "MainDoc")
        doc.ReplaceItemValue("Subject", “テスト”)

        Call doc.Save(True, True)

load_exit:
        ' *** オブジェクトの破棄
        db = Nothing
        session = Nothing

2012年1月5日木曜日

スクリプトによるNotesDBからCSV書き出し

「ファイル」-「書き出し」からでもCSV書き出しが出来ますが、スクリプトによるCSV書き出しのサンプルコードです。

Sub Click(Source As Button)
    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim Code, Section, Name As Variant
    Dim FileName As String   
    Dim FileNum As Long
    Dim i As Integer

    Set db = s.CurrentDatabase
    Set view = db.GetView("EmployeeView")
    Set doc = view.GetFirstDocument

    FileName = "C:\Employee.CSV"
    FileNum = Freefile '空いている番号を取得する
    Open FileName For Output As #FileNum '書き込みモードで開く

    Do Until doc Is Nothing
        Code = doc.GetItemValue("Code")
        Section = doc.GetItemValue("Section")
        Name = doc.GetItemValue("Name")
        Print #FileNum , & _
        Code(0) & "," & _
        Section(0) & "," & _
        Name(0)
        Set doc = view.GetNextDocument(doc)
    Loop

    Close #FileNum 'ファイルを閉じる

End Sub