2017年7月7日金曜日

Visual Studio で複数プロジェクトの対象フレームワークを一括で変更したい

はじめまして。初投稿です。ざわです。
先日、Visual Studio の対象フレームワークを[4.5.2]から[4.6.2]に変更したのですが、
ソリューション内にプロジェクトが30個ほどあり、
プロジェクトのプロパティを1つ1つ開いて変更するのはなかなか手間だなと思い
一括で変更してくれる機能はないものかとしらべてみました。











まず、標準機能では存在しないんですね。

次に見つけたのがVisual Studio の Marketplace にある「Target Framework Migrator」というツール。
しかし、ユーザーレビューをみると、ほんとうによいツールだ!という人もいればエラーがでたとか、プロジェクトが壊れたとのコメントも、、、😓

他にはPowerShellなどで自作スクリプトつくっている人もいましたが、
要は、対象フレームワークの情報はcsprojファイルに書き込まれているので

ソリューションの全csprojファイルを検索して<TargetFrameworkVersion>タグのバージョン部分を置換するというものでした。

であれば、Grep置換機能のあるテキストエディタを使って一括で置換するのが
一番簡単な方法なのでしょう。

ということで、サクラエディタの「Grep置換」を使って試してみました。
(サクラエディタのGrep置換はバージョン2.2.0.0以降から使える機能のようです)














こんなかんじで設定して置換すれば終わり。
  ①置換前
    "<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>"
  ②置換後
    "<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>"
  ③ファイル(※)
    "*.csproj"
  ④ソリューションのパスを指定
  ⑤[置換]実行

  ※ここではcsprojファイルをサンプルに載せていますが、
  対象フレームワークの情報は app.configなどにも設定されているので
  同様に変更が必要になると思います。

0 件のコメント:

コメントを投稿