C#
AD

App.configの設定

kawa.xxx
記事内に商品プロモーションを含む場合があります

ImagineCupへ挑戦していてWinCE上で動くプログラムを書いているのですがその開発の中で詰まったことをまとめておきます。

ちなみにImagineCup関連の技術エントリが続いていますが、時系列がめちゃめちゃですがそのへんは気にしないでください。

環境

  • Windows Compact 7
  • VisualStudio2008Pro
  • .NET Framework 3.5

次のような警告が出ました。いつから出ていたかは忘れた…

1競合を解決して警告を消去するために、app.config でアセンブリ "System.Data, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes" をバージョン "2.0.0.0"  からバージョン "3.5.0.0" [C:\\Program Files\\Microsoft.NET\\SDK\\CompactFramework\\v3.5\\WindowsCE\\System.Data.dll] にマップし直してください。
2競合を解決して警告を消去するために、app.config でアセンブリ "System, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes" をバージョン "2.0.0.0"  からバージョン "3.5.0.0" [C:\\Program Files\\Microsoft.NET\\SDK\\CompactFramework\\v3.5\\WindowsCE\\System.dll] にマップし直してください。
3c:\\WINDOWS\\Microsoft.NET\\Framework\\v3.5\\Microsoft.Common.targets : warning MSB3247: 同じ依存アセンブリの異なるバージョン間での競合が見つかりました。

解決方法

プロジェクト内に App.config をテキストファイルで作って下記の内容を追加したら解決しました。

要は .net のバージョンを書き換えてるってことですかね。いったいなぜこうなったのかよくわかりません…うーん。.NET Framework2.0 で作ってたコードをコピペで 3.5 のソリューションに移したからかな?

1<?xml version="1.0" encoding="utf-8" ?>
2<configuration>
3<runtime>
4<assemblybinding xmlns="urn:schemas-microsoft-com:asm.v1">
5<dependentassembly>
6<assemblyidentity culture="neutral" publickeytoken="969db8053d3322ac" name="System.Data" />
7<bindingredirect newVersion="3.5.0.0" oldVersion="2.0.0.0" />
8</dependentassembly>
9<dependentassembly>
10<assemblyidentity culture="neutral" publickeytoken="969db8053d3322ac" name="System" />
11<bindingredirect newVersion="3.5.0.0" oldVersion="2.0.0.0" />
12</dependentassembly>
13</assemblybinding>
14</runtime>
15</configuration>

参考文献

ABOUT ME
kawa.xxx
kawa.xxx
都内のIT系企業に勤める会社員。自分の備忘録的なアウトプット用の場所で、ボルダリングやガシェッド、セキュリティ、カメラの話題が中心です。
記事URLをコピーしました