2013年04月08日

VisualStudio2010で行う,同一ソースコードの Target Framework 、CPUビルド違いのDLL(やexe)の 同時作成方法

MSDN Magazine: 基本的な本能 - Visual Studio 2010 における複数バージョン対応の Visual Basic アプリケーション

Visual Studio 2010 以降では、Visual Studio 一つ で .net Framework2.0 から4.5までのそれぞれに対応したアセンブリ(dllやexe)をビルドできるようになりました。

今は仕事で Windows2000 Server 向けアプリ用に作成しています。
Win2000には FW2.0までしか導入できないので、2.0 でクラスライブラリを作っています。

その プログラム群を、 Server 2008 R2 に移植することをやっているのですがこちらは Framework 4.0 をターゲットにしています。

そんな状況のなか クラスライブラリの補修・改修を行うと、FW4.0バージョンと 従来の2.0バージョンを両方作成するために、いちいち ターゲットランタイムの切り替えを都度行いながら、また元に戻してビルド、なんてことをここ数ヶ月(面倒くさいとは思いつつ)繰り返してきました。面倒なのは、参照設定を切り替えたりするところ。


この現状を打破すべく、別のプロジェクトをソリューションに追加して、ターゲットランタイムを2.0 / 4.0 とそれぞれ作っておけば良いと思って始めたんだけどソースコードが「コピー」になってしまってうまくいかなかった。
(この答えはすぐ近くにあったんだけど、今日まで気がつかなかった)


そこでこの記事にようやく巡り会いました。感謝。
VS2010で複数のバージョンのフレームワーク対応のライブラリを作る - 三日坊主と呼ばせない!日記

主クラスライブラリプロジェクトのソースコードを、別のクラスライブラリプロジェクトのソースコードとして「リンクとして追加」を選ぶだけ。
このボタンの存在を認知するだけでよかったのに、今までその存在を全然知らなかった、気づいていなかった。

コレで明日から作業がだいぶ楽になる。

この技を使えば、「特定のクラスを追加したアセンブリ」とか逆に「特定のクラスを除外したアセンブリ」を派生バージョンとして簡単に同時に作れるし、メンテするソースコードはメインのプロジェクトで管理すれば良いので重複管理も無い。
もちろん、AnyCPU版、x86版、x64版を 同時に作成もできる。(その分プロジェクトは増えるけども)

これは良い。

20130408_230051 しかも、この考えを推し進めると、
場合によってはクラスライブラリそのものを使わなくすることも可能かもしれないと考えた。
クラスライブラリ用のプロジェクトで共通コードを管理し、同じソリューションの中へアプリケーションプロジェクトを追加し、共通コードは必要な分を「リンクとして追加」すればよい。
、、、と思ったけど。やっぱりクラスライブラリで別のアセンブリを管理した方が楽だわ。
まあ本当に場合によってはだけど、exe以外に別のファイルを持ちたくないようなツールを作る場合 このやり方が使える。

2013年02月26日

「アプリケーションのサイドバイサイド構成」がうんたらかんたらのエラーは、C++に関係ないところでも発生するようですね。

sideBySide_2013-02-26_190713.png

このアプリケーションのサイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした .net - Google 検索

VB.net
VS2010
.net Framework4.0
の構成で開発をしていて、ある特定のEXEだけが、何度コンパイル設定を変えても実行できなかった。

メッセージの意味からよくよく考えてみると、app.config の内容がおかしいのではないかと推測し、余計な記述やらコメントを全部削ったところ動いた。

そこで、うまく動くコンフィグとそうでないものを比較した結果、
うまく動くものは
xml version="1.0" encording="utf-8"
という記述でなおかつそのファイル自体がUTF8だったが

動かないものは
xml version="1.0" で、ファイル自体がSHIFT-JIS だった。

不具合の原因をそこから推測するに、コメント中の日本語がSHIFT−JISで書かれていたが、UTF8で解釈してエラーを起こしていたものと結論。

こんな些細なことだけど、まるっと半日ほど原因追及に使ってしまった。


性懲りもなく医療保険に加入しようとする人へ。

91円まで一気に爆下げした深夜のドル円スレの様子 まさに阿鼻叫喚 - ゴールデンタイムズ

2013年02月25日

VB2010の行継続にはアンダーバーが必須だと思っていたのだけれど、要らない場合もあったのね

Visual Basic におけるステートメント

読み直してみるとすごい発見がいろいろあったけど、人それぞれだと思うからメモだけ。

・IF 以外で ORを使ったり
t = 45 > 1003 Or 45 > 17


・インクリメント
n += 1

・文字列結合
q &= "String"

・複数行にまたがるステートメント
記事参照

プログラム構造とコード規則 (Visual Basic)

VBの機能はC#より冷遇もしくは一世代古いと感じることもしばしば。
どうしてそんな格差をもうけるんだろうね。
こういうのって、言語仕様ではなくて、IDE仕様によるものなので同時期にサポートしてくれてもいいのに。C#の後追いでいいから全部実現してくれてもいいのに。
たとえば、VBの#region 構文はいまだに メソッドの中には記述できず、メソッド、プロパティなどを外から囲むようにしか使えない。c#は10年以上前からVisualStudioに実装されているのに。


2013年02月08日

Windows シェル 右クリックメニュー 開発始めますぞ

.NET Shell Extensions - Shell Context Menus - CodeProject

.net で 右クリックメニューを開発するのは今まで敷居が高かったのですが、.net framework Ver4.0 以降でようやく 敷居が下がってきました。其れが上記の記事です。

エクセルのマクロを右クリックメニューに統合して早 五ヶ月近く経ちますが調子いいです。

そろそろ対象をウィンドウズにすることにします。

実は、FileMenuToolsに足りない機能があってそれは、昔のPathCopyにはあったのですが今となっては Windows7に PathCopyは導入できないので。
自分で作るしかなくなってしまったのです。


FileMenuTools:これは久々に これからの(Win7時代の)必須ソフトになる予感(自分としては): NN Space BLOG-NN空間ブログ

2013年01月22日

Visual Studio 2012 と .NET Framework runtime 4.5 に対応した CrystalReports モジュール CRforVS_13_0_5 が出てたー

ぶっちゃけ今日、栗レポの縦罫線が出てこない不具合に遭遇していて、泣いていたんです。

もしかしたらこれを入れたら直っているんじゃないかと、淡い期待を抱いて明日は仕事に励むことにします。

SAP Crystal Reports, developer version for Microsoft Visual Studio - 2012 Now Available for Download

これ、たぶんVS2010でも使えるはずだから、明日テストする。

SAP Crystal Reports, developer version for Microsoft Visual Studio Updates & Runtime Downloads
Support Pack 5 の修正点がまだリリースされていない?けど、今遭遇している不具合が直っていて欲しい。

20130125_212120追記
結論としては直っていなかった。
VS2008までは、グループヘッダから開始したオブジェクトが、ページフッタで終わっていた場合、次のページにもオーバーラップして描画されていたけど。
どうもそうならなくなってしまって。
結局、グループヘッダから始まったものは、グループフッタで終わるようにして、
・ページ下部へ出力
・まとめて表示
プロパティをONにしてあったらうまくいったので、余り追求せずによしとする。

2013年01月21日

ソフトウェアの製造=ビルド っていう考え方にちょっとだけ納得した

ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か - Social Change!


Tポイントお断りマーク


SFTPをWindowsのドライブとしてマウントするフリーソフト「SFTP Net Drive」 - GIGAZINE
これ、VPSを共有ドライブにできそうで便利そうだ。

2013年01月04日

自分用によく使う正規表現ストックを、これで構造をチェックしてみようと思った:REGEXPER

正規表現をわかりやすく視覚化してくれる『REGEXPER』 | 100SHIKI

Regexper

無理、無駄のない正規表現を目指す。

年始の最初の仕事前ウォーミングアップのタスクリストに追加。

2012年11月05日

3人日くらいの作業だったら1週間かかりますって答える。そんな感じの見積もり。

時間の見積もりをどうするか? 「仕事が忙しい!」の9割は思い込みだった【2】 :PRESIDENT Online - プレジデント

実際の費用は三日分を請求。ただしスケジュールは1週間引く。そんな感じの。

mixiが死ぬどころか、LINEのタイムラインが全然使われていない件「毎日閲覧する」はわずか10% | サイプロ 〜とあるサイトプロデューサーのブログ〜
Lineのタイムラインは誰も見ていない。 誰にも見られていない。

2012年10月17日

これはいずれ役に立つかもしれない、MicrosoftPublicライセンスだし

JavaScriptでXLSX形式を扱う「XLSX.js」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ
テストしてみたい。

「ガンダム駅」なぜできた アップル地図騒動の真相  :日本経済新聞
昔の地図に戻りたい。

なりすまし事件、想定外が油断に 警察、被害者に自白強要か (1/2) - ITmedia ニュース
この事件で、違法ダウンロードなんかも逮捕しづらくなるのでは。


Google Nexus 7 の32GB版を Staples が掲載。16GB版と同等価格 - Engadget Japanese

2012年09月12日

全角文字を分断するときの挙動が変わってた・・・

Windows7でVB6のStrConv関数を使ってSJISからUnicodeへ変換するときに発生する問題 - 今日もスミマセン。
↑こちらの記事では
WinXPで全角文字の先頭をちぎると Nullだったのに、Windows7だと 中黒点・(SJIS:&H 8145,UNICODE:&H 30FB)になるということだった。

だが、私の環境ではそれが .net Framework 1.1(null) ⇒ 2.0(・) で 発生していた。

結構な数のプログラムを.net 1.x から 2.0 へコンバージョンしてきたがこのような非互換製に遭遇したのはこれが初めてと言って良かった。ひどい話だと思う。結構な数をこなしてきたのにそれに気がつかなかったというのもお恥ずかしい話ではありますが。

でもって、この漢字分断時の・文字化けは 全角文字の前半部分を残した場合(LeftB関数のような場合)に発生し、逆に後半部分を残してしまった場合(RightB関数のような場合)はそのまま半角文字のコードして扱われるようだった。

ちなみに .net での該当の関数はこちら:GetString メソッド (Byte[], Int32, Int32)

全角の前半、後半どちらがちぎれても 半角スペースに置換するのが妥当と考えた私は、
GetStringメソッドを呼び出す前に、Byte[] パラメータの先頭から 半角文字、全角文字を順にサーチして 指定のIndexから Count分だけきちんと切り出せない場合にはその境界部分を &H 20 (SJISのスペース)で置き換えてやルことにした。

この方法で問題は起きていない。

具体的な方法は、SJISの上位バイトの範囲かどうかをチェックした。泥臭いが、これですべてのSJIS文字コードについて動作テストを完全パスした。

参考:
9.5 シフトJISで全角半角を判断するには?

バイト型配列のデータを文字コードを指定して文字列に変換: .NET Tips: C#, VB.NET


このデジカメいいな〜とおもった:世界初の35mmフルサイズCMOSイメージセンサー搭載コンデジ「DSC-RX1」がサイバーショット最上位機種として新登場 - GIGAZINE
25万。高い。


てすとぶろぐ: Windows 7 における VB6 の Strconv 関数の挙動

2012年05月16日

エクセルのデータをhtmlに変換から、日々の仕事ネタを思いつく

エクセルのデータをhtmlに1秒で変換してくれるサイト TABLEIZER!が便利すぎる。 | A!@attrip

別件ですが、仕事で使うEXCELのマクロを右クリックメニューで日々拡張しています。

この記事を見て思ったのは、そうだ! 背景色やらフォントサイズやら列幅なんぞをエクセルのセルの見た目どおりにHTMLコードを吐き出すVBAマクロを追加開発したら結構楽しいじゃん!

と、思うようになってきた。

というわけで次の個人的なマクロ開発ターゲットが決まった。

ちなみに右クリックメニューにマクロ追加というのはこんな感じ:
vba2012-05-16_224759.png
仕事のネタにもなっているので、成果物はオンラインでの公開は予定していません。

2012年05月08日

英語圏プログラマーのための日本語

Japanese for Programmers

【5月8日】 英語圏プログラマー向けの日本語文例集、その生々しい例文が話題に ほか

これはためになる。


映画に出てきそうなフロントガラス前方にナビ情報を表示する世界初のカーナビをパイオニアが7月下旬から発売へ - GIGAZINE
これは過ごすぎ。

最強のIT系かあちゃんからたかしへのアドバイス - Togetter

2012年03月19日

仕事が忙しいのにTreeViewコントロールの習作開発にいそしんでいた

TreeViewで表現したい物があって、アイコンなどもスクリーンショットコピーして,それをGifに保存し,イメージリストを作成。

C言語のような構文で定義されたデータ構造を {} で囲まれたTree構造と見なして構築していくところまではできた。

だけど、TreeViewの検索が思った通りに作れない。要はレジストリエディタの検索のようにあるノードから検索して、子ノードを検索し終えたら次のノードをさかのぼってどんどん次へ次へといきたいのだが、これが結構面倒というかゆき詰まっている。

内容が変化する物では無いから最初にあらかじめルートノードから全部検索結果を作ってしまいそれを元に該当のノードへ飛ぶような仕組みの方が,いいかもしれないと思ったが明日は休みなので構想のままにしてもう寝る。

2012年02月21日

proxy.pac は JavaScriptだ

cohtan blog: Proxyサーバーの変更をJavaScriptで自動化する

当然のことかもしれないけれど、
alert(host);
というコードを紛れ込ませてみると、ブラウザにメッセージボックスが表示される。


サムスン社員ら3人逮捕 原子炉爆発デマで韓国警察 - MSN産経ニュース

shExpMatch などの関数を利用する代わりに正規表現も利用できることがわかった。

たとえば
host.match(/正規表現/)
など。

JavaScriptの正規表現

正規表現 - マンガで分かる JavaScriptプログラミング講座

2012年01月05日

DB2 Client/.Serverの サポートされる組み合わせ

IBM [DB2 LUW] クライアント・サーバーのサポートされる組み合わせ (IM-10-00H) - Japan

DB2のドライバは基本的に上下ひとつバージョンの接続性しかサポートしないが、この表を見ると、昔(V7)は32Bitドライバは32BitのDBにしかつながらない、64Bitもまたしかり、というふうになっているのは驚いた。

今(V8以降)は、32/64Bitの組み合わせにかかわらず繋ぎにいけるようなので少し安心した。

2011年12月12日

ますますGoogleが手放せない! グラフ作成機能。 同時にMacの底力を思い知った日。

関数ググるとグラフになる新機能で遊んでみよう : ギズモード・ジャパン


(sqrt(cos(x))*cos(200 x)+sqrt(abs(x))-0.7)*(4-x*x)^0.01, sqrt(9-x^2), -sqrt(9-x^2) from -4.5 to 4.5 - Google 検索

今日、ふと sin(X)のグラフを何度も奇数回掛け合わせたらどんな形になるのか想像していたのですが、想像通りで安心しました。
sin(x)^19 - Google 検索
↑sin(x)の19乗
↓上に加えて、sin(x)を重ね合わせた物。
sin(x)^19, sin(x) - Google 検索

これも、今日巡っていたところで見つけたページの内容で、
物理・数学で面白い雑学教えて:哲学ニュースnwk
から、
グラフ描画ソフト弄ってて見つけた美しいグラフ
陰関数 sin(x^2)-cos(y^2)-sin(x*y)=0
極方程式 r=gaus(t) (-2π≦t≦2π)


どちらもGoogleでは表示できなかったが、
Macの Grapherでは一瞬で出てきた。
スクリーンショット 2011-12-12 0.38.37.png

スクリーンショット 2011-12-12 0.45.42.png

Mac スゲー。
身近にこんなすごいアプリがまだ眠っていたとは。

2011年10月30日

システム内製化

システムはどこまで内製化できるか - 急がば回れ、選ぶなら近道

考えるところが多くあったのでメモ。

タグ:メモ

2011年08月30日

どのプログラミング言語を選ぶか

どのプログラム言語を選ぶべきか・・・ - きしだのはてな

memo.

カオスちゃんねる : クラシックの指揮者って何が凄いの?棒振り回してるだけじゃん・・・

2011年08月09日

ことコードを眺めたり、リファクタリングしたりするのはECLIPSEのほうがVisualStudioよりも何歩も先を行っていると、4,5年前には思っていたものだが

「リファクタリング」の完全読破。その2 - holyppの日記

「リファクタリング」の完全読破。その1 - holyppの日記

めも。

VS2003の時には当時のECLIPSEが相当うらやましかった。
今はVS2008を使っているけど、まあ何となく妥協できる感じ。それでも、まだあの当時のECLIPSEのほうが便利だったと思う機能がいくつもある。

VS2010ではどんなもんだろうか。使ってみたことがないけど。


信じられないDB文化「固定長DB」でもあうんです。大規模コンシューマ向けサービスのRDB設計 - 山本大@クロノスの日記

2011年07月21日

.net のソースコードをコピペで動作確認できる FastSharp

窓の杜 - 【REVIEW】C#/F#/Visual Basicで記述されたソースコードをその場で実行できる「FastSharp」

数値書式の確認をするときなんか便利かもね。

実際使ってみたけど結構重い。(Celeronマシンにて)



Java SE 7、リリースは7月28日 - JSR賛成多数で通過(マイコミジャーナル) - goo ニュース

保険は“99%が外れる宝くじ” :保険会社が言わないホントの保険の話 :年金・保険 :マネー :日本経済新聞


2011年07月08日

BABOK : Business Analysis Body Of Knowledge

なぜ糞システムができあがるか: わたしが知らないスゴ本は、きっとあなたが読んでいる

PMBOKの次は「BABOK」が来る? - 記者の眼:ITpro

BABOK 2.0を読んでみよう - @IT情報マネジメント

Memo.

このケースがあればiPhoneで一眼レフのレンズが使える


コンサルタント

SIビジネスの流れ - ledsunの日記

正規表現の限界 @ Shibuya.pm ここ、Spaceキーを押すとスライドが進んでいきます。

2011年06月10日

EmEdiorのプラグイン

CustomizeUntitledFileName
ベータ版だけど明日使ってみよう。会社で。

7〜8年くらい前にEmEditorのプラグインの全盛期?なる雰囲気をのなか、使いでのありそうな物をかき集めて今はいくつかの物を仕事用に愛用している。
最近はマクロも集めるようになった。

機能的にEmEditorにないものとしてあとで追加をしたものは
・文字列の先頭、後方への追加、削除
・並び替え
・特定文字の行の抽出
・空白行,末尾スペースの削除
主にこれだけあれば仕事が捗る。
一部は正規表現でも置換可能だが、ボタン一発というのが効率化に寄与するのだ。

並び替えプラグインはEmEditor純正の並び替えとは癖が異なるのでノミネート。
具体的なプラグインへのリンクは控える。

2011年05月31日

このJavaScriptのコード圧縮技術は意味がわからない

JavaScriptのコードサイズを圧縮するための変態テクニック集がすごい | IDEA*IDEA

2011年05月22日

プロジェクトのマネジメント等

残業を要求する心理 - がるの健忘録

蒼と碧の幻想 プロジェクトマネジメントのノウハウ(2011/4)

やればいいってもんじゃない - がるの健忘録

2011年04月07日

portable c compiler

ポータブルCコンパイラ「PCC 1.0.0」登場、30年超えメジャーリリース(マイコミジャーナル) - goo ニュース

2011年03月10日

運用と開発は不可分

開発したシステムはすべからく運用される。

開発と運用の新しい関係、「DevOps」とは何か? − Publickey

運用にシステムをどう食い込ませるかというのがシステム化。

そんなのシステムか?と言う物でも、一部分でも自動化したら人間系も含めてシステムだ。

ソフトウェア開発におけるプロジェクト運用の問題点 - 山本大@クロノスの日記

最近ドキュメントが大事というのがようやく実感してきた。

昔は、開発してからドキュメント書いていたけど、最近はドキュメントから始めてる。

2011年02月14日

Scala、ええなこれ

Java使いをScalaに引き込むサンプル集(2011/02/13)

The Scala Programming Language



今やってるJavaを、これで置き換えられたらいいなあ。JREは1.6? 1.4じゃ駄目?

そろそろ開発技術以外にも知識を仕入れた方がよいのかな・・・

エンジニアがマーケティングを学ぶべき 4つの理由 - 彼女からは、おいちゃんと呼ばれています

単なるアフィリエイトリンクのように見えますが、まさにそうです。



1500円前後の本って多いよね・・・

2011年02月10日

アンドロイドの実機が一つほしいなぁ

マンガで分かるAndroid開発環境構築方法 - Android Dev - CroCro

2011年01月25日

「客が本気にならないといいシステムができない」っていうのは間違いない

客が本気にならないといいシステムができない。東証arrowhead成功の鍵とは 〜 Innovation Sprint 2011 − Publickey

「〜こんなのが作りたいんだけど、あとはよろしく」とか、そんなお客だったらまともなシステムは作れないね。

2011年01月20日

さぁ、マーケティング

なぜエンジニアは勝てないのか? - かえるの開発工房

負けティング。にならないように、お勉強だ。

2010年12月19日

スクリプト言語リファレンス

約700項目のHTML/スクリプト言語リファレンスを公開 - 週末スペシャル:ITpro

メモ。

2010年12月06日

ストアドプロシージャでUIとビジネスロジックを分離

SQLer 生島勘富 の日記

突き詰めると、ユーザー側のUIは単なる結果のViewみたいなもので、更新指示をかける場合には、そのUIの値をパラメータとしてストアドプロシジャに投げつけるだけとするのが良いということだ。

そういうことですよね。

2010年12月05日

システム開発→運用でカバー!?

第1回 見えない「運用」 - 疲弊する運用現場 | Think IT

運用でカバーすることはよくあります。

そうするとシステムを作れば作っただけ人的負担が増していくという恐ろしいことに・・・

2010年11月15日

アジャイルと受託開発と価格決定

漢(オトコ)のコンピュータ道: アジャイルと受託開発

メモ。

ソフトウェア開発っていうのは「値段」の付け方が難しい。 作業者の単価から割り出してみたりする方法もあるけど、「ソフトウェアの価値そのもの」の大小でみるとアンバランスなことも多い。
必要なコストとソフト開発の結果得られるもののバランスといいますか、「とても重要なのに安く」開発できたりとか、「簡単そうに見えるのに高い」とか、そういうところ。
まぁ、本当に簡単なら相見積もりをとれば安いところに投げちゃえばいいんだけど。

http://gigazine.net/index.php?/news/comments/20101115_pricing_strategies/

ゆとりでもわかるコンテンツの価格の決まり方 - はてなポイント3万を使い切るまで死なない日記

・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ