まぁ別に .NET Framework 4 特有のクラスとか使ってないはずなのでいいか、と、2.0に変更してコンパイルは通ったのですが、実行してみたら環境設定(My.Settings)を参照するところでエラーになってます。だめじゃん。
対象のフレームワークの変更手順は次のとおり。
1.プロジェクトのプロパティの「コンパイル」タブの[詳細コンパイルオプション]ボタンをクリック
2.「対象のフレームワーク」を「.NET Framework 4 Client Profile」から「.NET Framework 2.0」に変更
3.[OK]すると、
---------------------------
ターゲット フレームワークの変更
---------------------------
ターゲット フレームワークを変更するには、現在のプロジェクトを閉じてからもう一度開く必要があります。
プロジェクト内の保存していない変更は自動的に保存されます。
ターゲット フレームワークを変更すると、ビルドのためにプロジェクト ファイルを手動で変更する必要が生じることがあります。
このプロジェクトのターゲット フレームワークを変更しますか?
---------------------------
はい(Y) いいえ(N) ヘルプ
---------------------------
と言われるけど他にどうしようもないので[はい]をクリック
4.ビルド
ビルドではエラーが出ないんですけどね……。
とりあえずいつものようにググるw
まずは参照設定も確認が必要とのことなので、プロジェクトのプロパティの「参照」タブを確認。
いくつかの参照で、
<システムでは、指定された参照が見つかりません。>
と表示されています。これを削除。これは Framework 4 にはあったけど 2.0 には対応するものがないもののようです。これがないとビルドも通らないようだと、2.0 にはできないことになるのかな? 他のクラスに置き換えるとか必要になるんでしょう。今回はOKだったので、削除だけしときます。
ここで一応再ビルドして実行してみるけど、やっぱり環境設定読むとこでエラー。
さらにググると、configの記法が2.0と4では違うのだみたいなことも書いてありましたが、最終的には関係なかったみたいなので割愛w
しかし環境設定のファイル(config)が読めないのはたしかなので、そのへんがあやしいとは思います。で、app.config を調べます。
なんか頭の方に、Framework 4 であることを示すらしいところがあるので、これかな?
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="Hogehoge.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
</configSections>
試しに、新規のVBプロジェクトを作成し、ひとつ環境設定を定義して、内容をフォームに表示するだけのものを、最初から対象のフレームワークを2.0にしてビルドしてみます。そして app.config を見てみると、
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="WindowsApplication1.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
2.0であるっぽい記述になってます。ので、エラーになってたプロジェクトの 4.0.0.0 を 2.0.0.0 に変更してビルドして実行したら、エラーが出なくなりました。わーい。
しかしこの程度の変更ですむのなら、最初から自動的に変更してくれてもいいんジャマイカ。
ちなみに、同じく app.config の末尾の方には、
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
というのがあったのですが(使用するランタイムのバージョンを定義しているっぽい)、ここは勝手に
<startup><supportedRuntime version="v2.0.50727"/></startup>
こうなっていたのですよ。なんでついでにさっきのところも変えといてくれないのかw
1 件のコメント:
thunder titanium lights - TITIAN LANDED ART - TITIAN LANDED ART
TIONAL STYLEWOOD, CA titanium cookware | TITIAN LANDED ART, TIGERMINATOR FACTORY - TITIAN LANDED ART, TIGERMINATOR 2018 ford fusion energi titanium FACTORY - TITIAN LANDED ART, TIGERMINATOR FACTORY - titanium dog teeth implants TITIAN titanium exhaust tips LANDED titanium bicycle ART $8.00 · In stock
コメントを投稿