今日の検索キーワード:ASP.NET MVC3、Subversion 1.7+Eclipse動いた

asp.net mvc3 ファイルダウンロード

ASP.NET MVC 3でファイルダウンロードのことね。ASP.NET MVC3を使っている人もちょっとは増えているのかなー。

ASP.NET MVC3は、結構すごくよくできているけれども、これって誰得な感じのフレームワークだよなー。

ずっとMS系でやってきているところは、ASP.NET Webフォーム系の資産が大量にあるだろうから、今更互換性のないASP.NET MVC系に移行しようとは思わないだろうし、MVC系フレームワークを使いたい人は実績のないASP.NET MVCなんて使わず、別言語別OSのMVC系フレームワークを選ぶだろうし。

俺みたいに、どうしてもIIS+.NETで作らなければならなくなって、でも採用フレームワークの選定は自由にしても良くて、ASP.NET Webフォームは昔やった経験からできれば採用したくなくて、という人間じゃないとなかなか実用として使う気にならないんじゃないだろうか。

ちなみにASP.NET MVC 3でファイルダウンロードではFilePathResultを使ってファイルダウンロードリクエストに応答しているけれども、FileStreamingResultってのもあって、そっちを使うとStreamを使った応答もできるんで場合によっては便利。

eclipse subversion 1.7

EclipseとSubversion 1.7関連の検索がまだまだ多いなー。いまだに俺環境ではうまく動かせていなかったんだけど、もう一度試してみることにした。

http://subclipse.tigris.org/update_1.8.x

を新しいUpdate Siteとして追加して、そこからSubversion 1.7系に対応しているはずのSubclipseを一通りインストール。環境はWindows 7 64bit+Eclipse for PHP Developer 3.0.1ね。前はJava HLでエラーが出て動かなかったんだよなー、と思いながらもう一度試してみる。

Failed to load JavaHL Library.
These are the errors that were encountered:
C:\eclipse\plugins\org.tigris.subversion.clientadapter.javahl.win32_1.7.2\libsvn_delta-1.dll: 指定されたプロシージャが見つかりません。
C:\eclipse\plugins\org.tigris.subversion.clientadapter.javahl.win32_1.7.2\libsvn_diff-1.dll: 指定されたプロシージャが見つかりません。
C:\eclipse\plugins\org.tigris.subversion.clientadapter.javahl.win32_1.7.2\libsvn_wc-1.dll: 指定されたプロシージャが見つかりません。
C:\eclipse\plugins\org.tigris.subversion.clientadapter.javahl.win32_1.7.2\libsvn_fs-1.dll: 指定されたプロシージャが見つかりません。
C:\eclipse\plugins\org.tigris.subversion.clientadapter.javahl.win32_1.7.2\libsvn_repos-1.dll: 指定されたプロシージャが見つかりません。
C:\eclipse\plugins\org.tigris.subversion.clientadapter.javahl.win32_1.7.2\libsvn_ra-1.dll: 指定されたプロシージャが見つかりません。
C:\eclipse\plugins\org.tigris.subversion.clientadapter.javahl.win32_1.7.2\libsvn_client-1.dll: 指定されたプロシージャが見つかりません。
C:\eclipse\plugins\org.tigris.subversion.clientadapter.javahl.win32_1.7.2\libsvnjavahl-1.dll: 指定されたプロシージャが見つかりません。
no svnjavahl-1 in java.library.path
no svnjavahl in java.library.path

やっぱりJavaHLでエラーが出るなー。んで、それっぽいキーワードでググっても特に情報が見つからなかったんで、そこであきらめたんだけど、今度はもうちょっと追ってみる。

http://sourceforge.net/projects/win32svn/files/1.7.2/から関連するDLLをダウンロードして入れ替えてみれば動くんじゃなかろうか。と思って、svn-win32-1.7.2.zipsvn-win32-1.7.2_javahl.zipから関連するDLLを入れ替えてみる。が、結局動かず。

うーん。Subvesion 1.7単体のバイナリからはちゃんと使えるDLLが、Eclipseプラグインから使うと動かないんだ? バイナリの問題じゃなさそうだな。

しばらく悩んで、そういえばすでにインストールされていて動作しているSubclipseのSubversion 1.6向けプラグインと競合している可能性もあるよな、と思いついた。そこで、Subversive関連でインストールされたプラグイン以外のSVN関連のプラグインを一通り削除してみる。

ちなみにプラグインの削除の方法は、[Help]-[About Eclipse for PHP Developers]-[Instllation Details]でインストール済みプラグイン一覧を出して、削除したいプラグインを選択して、[Uninstall]ね。

で、Eclipseを再起動したら、おお動いた。試しにSubversion 1.7系にアップグレード済みのローカルコピーに接続していろいろ操作してみたけれども、特に問題は出なかった。なんだ。古いプラグインとの競合だったのか。

やけに長い間はまっている割には、それっぽい情報がオンラインで見つからないからおかしいと思ったんだよな。

追記@2012/02/09)まだ検索してくる人が多いみたいなんで、現状1.7系でちゃんと動いているEclipse/SVN関連のプラグインのリストを追加しておく。

  • Subversion Client Adapter (Required) 1.8.0 org.tigris.subversion.clientadapter.feature.feature.group tigris.org
  • Subversion JavaHL Native Library Adapter (Required) 1.7.2 org.tigris.subversion.clientadapter.javahl.feature.feature.group tigris.org
  • Subversion Revision Graph 1.1.1 org.tigris.subversion.subclipse.graph.feature.feature.group tigris.org

この三つだけがあればOK。既存のSVN関連のプラグインを全部消して、http://subclipse.tigris.org/update_1.8.xから上記を追加してEclipseを再起動すれば、Subversion 1.7対応になる。

すでにローカルディスク上にある1.6以前で作成したローカルコピーに関しては、1.7以降用にアップグレードしてから使うことになり、1.6以前用のツールとは互換性がなくなる。

一度ローカルコピーをアップグレードすると1.6以前用に戻すことはできなくなるので注意。

関連する投稿:

    None Found