http://enterprise.watch.impress.co.jp/cda/software/2008/07/29/13511.html
ということらしい。
で、ダウンロードしてみようと試みたのですが、ダウンロードするために必要な入力項目が多い…
面倒になったのでまたの機会にしよっと。
#追記
ダウンロードして試してみたものの、インストールエラーとなりました。
HW要件を満たしていないのかしら…
技術ブログを始めたくてなんとなくスタートです。 たぶん長続きしないはず…
Windows Live WriterはSharepoint上のブログに投稿できるのだが、Sharepoint上のWikiを編集できるようにはならないのだろうか…
Wikiを編集できるツールが欲しい今日この頃
前々回のエントリーの続き
結果、データバインドできるようになりました。
customControl11.DataBindings.Add("Number", list, "Id", true);
第4引数にtrueを渡すだけ。
BindingクラスのFormattingEnabledプロパティーに当たるのですが、FormatStringプロパティーを設定せずとも、うまく行きました。
ちなみに、Binding.FormattingEnabledの説明に
このプロパティを true に設定すると、エラー処理動作も有効になり、BindingComplete イベントが発生します。このイベントのハンドラでは、BindingCompleteEventArgs パラメータの BindingCompleteState プロパティを調べることにより、バインディング処理が成功した場合、エラーが発生した場合、または例外がスローされた場合のそれぞれに応じた操作を実行できます。
とあるので、エラーを勝手にハンドリングしているのかとも思いましたが、BindingCompleteイベントにわたってくるBindingCompleteStateはすべてBindingCompleteState.Successでした。
なんだか不思議ですが、動けばOKかな?
前回のエントリー「Nullable型のデータバインド」に関連して、ちょっとテスト。
テーマは、Null許可型のプロパティーにリフレクションを使用して、値を操作できるか?
まずは、int?型のプロパティーを持ったクラスを用意。
class Sample
{
private int? id;
public int? ID
{
get { return id; }
set { id = value; }
}
}
リフレクションによるアクセス
static void Main(string[] args)
{
PropertyInfo info = typeof(Sample).GetProperty("ID");
Sample sample = new Sample();
info.SetValue(sample, 1, null);
//ID:1
Console.WriteLine("ID:{0}", sample.ID);
info.SetValue(sample, null, null);
//False
Console.WriteLine(sample.ID.HasValue);
//True
Console.WriteLine(info.GetValue(sample,null) == null);
//ID:1
sample.ID = 1;
Console.WriteLine("ID:{0}", info.GetValue(sample, null));
}
拍子抜けするぐらい、予想通りにうまく行きました。これができるのになぜバインディングができない…
カスタムコントロールに追加したint?型のプロパティと独自クラスに実装されたint?型のプロパティを、Bindしようと試みるのだがうまくいかない。。。
int?型はobjectに代入すると、int型になってしまうのが原因らしい。
InvalidCastExceptionが出てしまいます。
StackTraceを見る限り、Convertクラスが、intをint?にCastしようとして失敗しています。暗黙的に変換できるのに、わざわざConvertクラスを通さなくてもいいのにね。
さて、どうしたら回避できるのか…
前々回ためしに使ってみた、C# code formatがいまいち使い勝手が良くなかった(※)ので、別の方法を物色してみました。
※Windows Live WriterからBloggerに投稿する上での話です。
で、Windows Live Writerから使用できる、Syntax Highlighterプラグインを使ってみました。
SyntaxHighlighter for Windows Live Writer
とりあえず見つけた↑の2.0を使用。あとから検索してみると、いろいろ種類があるんですね。
もう一つの問題は、SyntaxHighlighterで使用するJavascriptファイルをブログに配置する方法。これも先人がいて、参考にさせていただきました。
Yan Noteさん
ウィジェットを登録すると何がどうなって色がつくか分かりませんが、とりあえず色が付きました。
でも行番号が表示されない…
ほかのプラグインも試してみるか?
↓テスト
行番号表示
using System;
using System.Collections;
行番号を非表示
using System;
using System.Collections;
開始行番号に10を指定
using System;
using System.Collections;
適当ソース
using System;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 の概要の説明です。
/// </summary>
class Class1
{
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Console.WriteLine(Environment.Version);
}
}
}
いつも調べるのでメモ。でも本当に効率のいい方法かは不明
1: // stringをStreamに
2: String str = "hoge";
3: Stream stream = new MemoryStream(Encoding.Unicode.GetBytes(str));
4:
5: // Streamをstringに
6: string str2 = Encoding.Unicode.GetString(stream.ToArray());
C#コードの色づけに↓使ってみました。
http://manoli.net/csharpformat/
VSSからSubversionの移行作業を行いました。
かなり手間取りましたが、まぁなんとか…
(参考にしたサイト)
ひだまりのなか、想ふことさん
http://hidamarinonaka.jugem.cc/?eid=104
http://hidamarinonaka.jugem.cc/?eid=105
参考というかほとんどそのままです。感謝感謝。
ちなみに、Perlは全く知りません。Subversionは使い始めたばかりです。
参考サイトにあるとおり、miau's blog?さんのこちらからvss2svn.plをありがたく拝借。
とりあえずPerlをインストールしないことには、はじまらなさそうなので…
使用したのは、ActivePerl 5.10.0.1003のMSI。
デフォルトのまま、インストールして終了。
不足モジュールを追加インストールするために、とりあえず実行してみました。
自分の環境で不足していたのは、
JCode.pm
JulianDay.pm
MMagic.pm
ParseDate.pm
Timezone.pm
でした。検索&ダウンロードで、vss2svn.plが動く環境をセットアップ
つまづき1
当初は、VSS2005がインストールされた環境で試行錯誤していたのですが、全くうまくいかず、何が原因かもわからずじまい。
お手上げ状態だったので、しかなくHyper-V上にVSS6SP6dの環境をセットアップしました。移行のためだけにVMを使うことになろうとは…。
そして、振り出し(ActivePerlのインストール)に戻る。
つまづき2
VSSからプロジェクト単位でインポートがうまくいきませんでした。
そのため移行対象のプロジェクトがあるVSSから、必要のないプロジェクトをすべて削除するという荒業を使いました。
vss2svn.plを実行すると、svn.exeをパスに追加するように要求されたので、Subversionをインストール。
ローカルに、移行用のリポジトリを作成。
環境変数にAPR_ICONV_PATHを設定。
pre-revprop-change.batを修正。
つまづき3
普段使用しているSubversionは、HTTPS経由でApacheにアクセスし、認証を行っています。しかし、vss2svn.plにて認証をかいくぐる方法がわからず、ローカルに認証不要のリポジトリを作成しました。
あとは、引数を指定して実行するだけです。
--vssproject:vssプロジェクトディレクトリへのフォルダパス。
$/ 以外はうまくいかず。
--svnrepo:SubversionリポジトリへのURL。
https://~へ認証アクセスができず。file:///c:/~になりました。
というわけで、現在実行中です。無事終わってください。
かなり時間がかかるようで、確認は明日になりそう。
7/15追記
残念ながら、日本語コメントが文字化け。てか、本番VSSで試す前にテストしろよ>自分
vss2svn.plの881行目
$comment = Encode::encode('utf8', $comment) if $gCfg{utf8};
を
$comment = Encode::encode('utf8', decode('sjis',$comment)) if $gCfg{utf8};
とすることで、うまく行きました。
こういうのは、いちばん最初にやるんだろうね。
身分とか
いわゆる(?)SE。
顧客折衝から、設計、実装、テスト、開発環境のインフラ整備(ハード・ソフトとも)まで、幅広く担当しております。
開発言語とか
C#2.0でWinForm開発がメインです。C#3.0に移りたいが、Windows 2000がMicrosoftのサポート切れになるまでは無理そう…
昔はJava&Linuxだったが、最近はどっぷりMicrosoft系です。
その他関心事
Hyper-Vとか、Subversionとか、BTSとか、いろいろ
開発をいかにスムーズに回すかを心がけ、少しでも楽に開発を進めるために、努力を惜しまない。そんなタイプだと自分では思っています。
ここ数日、Windows Server 2008上で正式版がリリースされたばかりのHyper-Vをいじっています。
厳密にパフォーマンス比較を行ったわけではないのですが、Virtual Server 2005 SP1よりもサクサク動いている感じがします。ただ、管理用Web画面がないのでチームで使うにはやや不便です。
常にVMをいくつも立ち上げて置くほどサーバの性能は良くないし、VMを起動するためにメンバーがServerにログインするのは管理上よろしくないです。
Vista SP1からは、Hyper-Vを管理できるようですが、開発環境は基本XPだし…
Virtual Machine Manager 2008がリリースされれば解決しそうなので、首を長くして待つことにします。
MicrosoftのLive Space以外でもLive Writerが使えるみたいなので、ためしの投稿です。
LiveWriterは以下から、
http://get.live.com/writer/overview
なお、Google検索ではベータのダウンロードページの方が上位に来てしまいます。しかも、ベータページからは、正式版のページに飛べないし…