2006年10月27日

vcslncnv.vbs - Visual C++のソリューションファイルを別バージョンのVisual C++用に変換する

イメージを追加

ソフト紹介

Microsoft社の開発環境Visual C++(.NET以降)のソリューション(拡張子.sln及び、それで使っている.vcproj)を無理矢理別バージョン用のものに変換します。

私は、自宅では(無料の(^^; )Visual C++ 2005 Express Editionを使っていますが、私の在籍している専門学校の環境はVisual Studio .NET 2003です。2005で、2003用のものを2005用に変換すると2003では使えなくなってしまいます。

両環境用にそれぞれ.sln、.vcprojを用意しておけばいいのですが、その場合ファイルの追加削除・設定の変更をそれぞれに対して行わなければならず非常に面倒です。

このコンバータで変換をかける事で面倒な管理作業から開放されます。(多分)

ダウンロード

ver:1.11

インストール方法

書庫ファイル内のvcslncnv.vbsを適当なフォルダに置いて下さい。

アンインストール方法

vcslncnv.vbsを削除するだけで結構です。INIファイルやレジストリは使用していません。

使い方

コマンドプロンプト上で、

cscript (インストール先フォルダ)\vcslncnv.vbs (変換元ソリューション) (変換先バージョン)

と入力すると変換します。

変換先バージョンはIDEのバージョン番号となり、

Visual C++商品名バージョン番号
.NET7.00
.NET 20037.10
20058.00

です。Visual C++ 6.0以下のワークスペースには対応していません。

この時、変換後のファイル名には『_バージョン番号』の形のサフィックスを追加します。既にサフィックスの付いているファイルの場合はバージョン番号部分を書き換えます。

例えば……

  • プロジェクトhoge.vcprojを持つhoge.slnを2005用に変換
    cscript hoge.sln 8.00
    hoge_8.00.slnとhoge_8.00.vcprojを生成
  • プロジェクトpiyo1_8.00.vcprojとpiyo2_8.00.vcprojを持つiyo_8.00.slnを.NET用に変換
    cscript piyo_8.00.sln 7.00
    piyo_7.00.slnとpiyo1_7.00.vcproj、piyo2_7.00.vcprojを生成

変換先ファイル名と同名のファイルが存在した場合、問答無用で上書きしますので注意してください。

/Tオプションを指定すると色々内部的な情報を見る事が出来ます。(本来デバッグ用です。改造しよう!という方は是非)

引数を省略して起動した場合、このスクリプトの説明を見る事が出来ます。 意味無く英文です。適当です。お察し下さい。文法的に変な所が在ったら指摘して下さい。

FAQ

現在は想定問答集……(^^;ゞ

動きません。
……では判りません。Windows,WSH、vcslncnv.vbsを何処に置いているのか、どんな使い方をしたのかは最低限用意しておいて下さい。
もしかしたら添付readme.txtやこのエントリに解決法があるかも知れませんよ。
変換したファイルを読み込むとヴァージョンが違うと怒られます。
自宅にある環境がVisual C++ 2005 Express Editionのみなので、充分なデバッグ/テストが出来ていません。『100%変換出来るとは限らない』ぐらいに考えておいて下さい。
どうしても変換出来ないソリューションがあった場合、その旨(どのバージョンからどのバージョンに変換したか、どういう構成か。)連絡をいただけると幸いです。(不都合が無ければ変換しようとしたsln及びvcprojを送っていただけると役立つかもしれません。)
アンチウィルスソフトがなんか警告出してきたんだけど……
WSH、VBScriptという、ウィルス作成に使われる事もある技術を使っているのでアンチウィルスソフトによっては警告を出してくるものも在るかも知れません。配布時にはウィルスが居ないよう注意していますが、悪意有るクラッカー等の手によりウィルスに感染している可能性も勿論在ります。アンチウィルスソフトの警告内容から判断して下さい。
Windows Script Host(WSH)って何?
Windows上でさまざまな処理を行う事が出来るMicrosoft製のスクリプト実行エンジンです。Windows98以降ならば標準でインストールされています。
最新のバージョンは次のサイトからダウンロード出来ます。Windows Script
てか何でこんなコード書いてんの?こうしたらもっと良いんじゃない?
どんどん突っ込んでください。まだまだ未熟者なので……(^^;ゞ突っ込みはこの記事のコメント欄、或いはメールまで。
このソフト改変したいんだけど
下記【再配布などについて】を参照して下さい。

再配布等について

特に条件はありませんが、
オリジナル(天井冴太が配布しているもの)の再配布は配布書庫ファイルの構成を変更しないようにお願いします。 OSSである以上、改変及びその改変物の配布は構いません。ただし、元が私の著作物だという事を明記して頂けると幸いです。

雑誌、Webページ等に掲載する場合は事後でもいいので連絡を頂ければ嬉しいです。

有償の書籍/雑誌/CD等の場合、或いは無償でも会員誌や会員制webページ等『閲覧者に制限の在る媒体』への掲載時は1媒体(webページの場合そのページを構成する全ファイル)献本/提供して頂けると更に嬉しいです。

免責

このスクリプトを使用した事、使用しなかった事によって生じた如何なる障害、損害に対して作者は一切の責任を負わないものとします。

また、作者にサポートの義務はありません。

更新履歴

version内容
1.11.20061023
  • 2005Expressから2005未満への変換時にVC++2005Express判定用コメントを削除するよう変更.これにより、2005Express→2005未満→2005Expressと変換した時に判定コメントが1つ増殖するバグに対処.
  • 更新履歴をファイル末尾に移動.
  • ヘルプ内容を変更.
    • ヴァージョン番号を表示するように.
    • チョット整形.
    • 文法的に(多分)おかしい所を直す.
1.10.20061020 (非公開)
  • slnファイル先頭の空行やBOMに対応.
  • Debug用表示を/Tオプションとして実装しなおした.
1.00.20060607 (非公開)
  • 完成.
  • イメージを追加
posted by 天井冴太 at 22:26| Comment(0) | TrackBack(1) | 自作ソフト | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください

この記事へのトラックバック

拙作ソフト『vcslncnv.vbs』が@NetHomeのサイトにて紹介された
Excerpt: いや、もう、スゲー嬉しいんですけど。 拙作ソフト『vcslncnv.vbs』がISPの@NetHomeの会員ページにて紹介されている。 これってつまりこのソフトが有用だと(少なくとも掲載を決めた人には..
Weblog: 天井冴太的つれづれblog [天井の染み]
Tracked: 2007-03-13 19:52