2012年12月11日火曜日

VC2010で.NetFrameworkのバージョンを2.0に変更する

VisualStudio2010で
C++/CLIで.NetFrameworkのバージョンを2.0に変更したかったのですが、
C#はUIで設定できるのにC++はUIで変更は出来ないようです。
(頑張ってUIを探してみたけど見つかりませんでした。。)

検索したら、MSDNに載ってました。
http://msdn.microsoft.com/ja-jp/library/ff770576(v=vs.100).aspx
.vcxprojを直接編集するしかないみたい。

以下のタグの値を変更すればOKとのこと。
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

早速エディタで.vcxprojを開いてみましたが。。。
TargetFrameworkVersionのタグがない!!

それっぽいタグの中に追加。
<PropertyGroup Label="Globals">
  <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
</PropertyGroup>

無事C++/CLIのプロジェクトのプロパティで対象フレームワークにv2.0と表示されました!

早速ビルドしてみると。。。
エラー。
----

error MSB8009: .NET Framework 2.0/3.0/3.5 は、v90 のプラットフォーム ツールセットを対象としています。コンピューターに Visual Studio 2008 がインストールされていることを確認してください。
----
なんという!

VisualStudio2008をインストールするとちゃんとビルドできました。

非常に面倒ですね。GUIで変更できないだけでなく、
古いバージョンのVisualStudioが必要とか。
何とかならないもんですかねぇ~。


2012年12月7日金曜日

文字列に特定の文字が含まれているのをチェックする


バッチファイルで文字列に特定の文字が含まれているのをチェックする方法です。

例:

echo aaa bbb|findstr /C:" ">NUL
if not ERRORLEVEL 1 echo ok




例:バッチファイルを実行したパス(フォルダ)に半角スペースがあるかを調べる

echo %~dp0|findstr /C:" ">NUL
if not ERRORLEVEL 1 echo ok



ラベル