忍者ブログ
Insights/Ideas/Interactions ITとSocialMediaについて書くブログ
人気blogランキング

↑↑↑クリックお願いします!↑↑
カウンター

プロフィール
HN:
よっぱ
性別:
非公開
自己紹介:
よっぱです。
いや、別に酔っ払ってませんけど。なにか?

プロフィール
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログ内検索
最新トラックバック
アクセス解析
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

今回の話は自分メモです。
VisualStudio2010でのWinアプリ開発やコンソールアプリ開発で、本来できない「ビルドタイプによるApp.configの動的書き換えを行おう」という話です。

現在のVisual Studio 2010 での開発では、Webアプリ開発だと Web.config“Web.Debig.config”“Web.Release.config” による変換処理(TransformWebConfig)を行う機能がデフォルトであります。これによりDebugReleaseといったビルドタイプの違いによって、Web.configの設定値を動的に変換し、適切なWeb.configにするということが可能でした。
しかし、Winアプリ開発やコンソールアプリ開発では、Webアプリ開発でついていた変換処理のような機能はついておらず、アプリケーション開発者はRelease前にApp.configを書き換えてRelease処理を行う、もしくはRelease後にApp.configを書き換える必要がありました。




Webアプリ開発では動的に書き換える機能がそなわっている



Windowsアプリ開発ではWebアプリ開発のような動的書き換えの機能はない


今回は、その問題をクリアするための方法です。

方法はいたって単純。いわゆるJavaで言うところのAntビルドのビルド設定ファイルを変更し、ビルド時に調整を施すだけです。
Antビルドでは、build.xmlを用いてビルド処理、およびjarファイルへのパッケージング処理を行っていました。
Visual Studio(.net Framework)では、ビルドをMSBuild.exeプロジェクトファイル(xxx.csprojなど)を用いて行っています。Antビルドでのbuild.xmlと同じ役割をしているのがプロジェクトファイルになるわけです。

今回、Visual Studio 2010 Expressを用います。なお、今回の例ではC#で作成しています。VBの場合は適宜VBでのファイルに置き換えて考えてください。
参考にしたのは以下のサイトです。以下のサイトを参考に適宜変更・訂正しています。
PR
ちょっと前からブログの記事にTwitter投稿用のボタンがほしいなぁと思っていたのですが、昨日思い切って作成してみました。参考にしたのは以下の記事です。

自分のブログのエントリーにtwitterに投稿するボタンもついた:[mi]みたいもん!
[N] ブログの記事をTwitter/Tumblrに投稿するボタンを設置する方法

ちなみにどのボタンかって言うと、これです。

ReTweet


以下がそのScriptです。
javascript:var%20tid='<1.TwitterID>',d=document,w=window,l=location,
e=encodeURIComponent,t=(d.selection)?d.selection.createRange().text:(w.getSelection)?w.getSelection():(d.getSelection)?d.getSelection():'',
f='http://twitter.com/home/?status='+e(t)+'+[Reading]+%40'+e(tid)+'+%22'+e('<2.記事のタイトル> - <2.ブログのタイトル>')+'%22+'+e('<3.URL>');%20if(!w.open(f,'ReTweet'))l.href=f;void(0);
例えば、前回の記事のTwitterポストボタンを押すと、生成されるメッセージはこんな感じです。

[Reading] @yoppa0516 "日本でのTwitterがキャズムを超える日は遠くない? - よっぱ主義。" http://yoppa.blog.shinobi.jp/Entry/97/

ちなみに、上のScriptをそのまま丸写ししてもうまくいかないので、コピーしないでください。このScript見ての通り、計3箇所変更する必要があります。


1.TwitterID
まずはTwitterID。上記の作成後のメッセージだと<1.TwitterID>の部分になります。ただ、どんな人が自分の記事を読んでくれたのか知りたい時に便利かもしれません。代わりにハッシュタグを用いる方法もあります。ちなみに必要ない方は削除しても問題はありません。


2.記事のタイトル、ブログのタイトル
ポストも、個別のページからのみポストをする場合と、一覧系のページからポストする場合と2種類あると思います。
単に個別のページからのみポストをするのであれば、javascriptで開いているページのタイトルを取得するだけでよいので、上述のscriptの場合、<2.記事のタイトル> - <2.ブログのタイトル>d.titleに書き換えればOKです。

自分の場合は、個別のページからだけじゃなく一覧ページからも個別ページのポストができるように個別の記事タイトルを別に取得するように、忍者ブログの独自構文を用いました。


3.URL
最後にURL。2と同様、個別ページ/一覧ページで方法が若干違うかと思います。
個別ページからのポストのみでよければ、上述の<3.URL>l.hrefに変更すればOK。ブログの独自構文が使える人はそれを使ってもOKです。


ちなみにここまで書きましたが、今のところIE系のブラウザでは動きません。また時間があるときに改修しますので、そのときまで待つか、もしくは教えてくださいw


参考
自分のブログのエントリーにtwitterに投稿するボタンもついた:[mi]みたいもん!
[N] ブログの記事をTwitter/Tumblrに投稿するボタンを設置する方法
タイトルを見るとたいそれたことをしてそうだが、大したことはしていないです。

要するにjavaとかPHPとかPerlとかで書くんだぜ!的なものを、ただただC#で、ASP.NETで組んだだけです。


はてな認証API - 認証
はてな認証API - ヘルプ - 認証APIを利用した認証の流れ

twitterの通信をhttpsに統一するGreasemonkeyScriptを簡単に作ってみました。


twitter_ssl.user.js



2~3分で簡単に作ったものなのでちゃんと利用できるかわからないですが、とりあえず。


…と、作ったと言っても同様のscriptがあったので、それをなぞって作っただけですが。

使っていて何か不具合がありそうだったらよろしければご一報ください。
できる限り対応いたします。


参考ページ
http⇒https転送(Javascript) - ORANGE FACTORY
google検索
はてな注目エントリー
あわせて読みたい
あわせて読みたいブログパーツ
SiteStock


フィードメーター - よっぱ主義。 (β version)
検索ワード








Powered by Ninja Blog    template by Temp* factory    icon by MiniaureType

忍者ブログ [PR]