なんか作ったはいいが、別の端末で動かそうとすると、バージョンが入ってねーって怒られる場合の対処。もちろん.Net4.0以降でしか入ってない機能を.Net2.0で動かそうとするのは無理。
コンフィグにアプリがサポートするバージョンを明示しておかないとダメらしい。↓の感じ。
<configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> <supportedRuntime version="v2.0.50727" sku=".NETFramework,Version=v2.0.50727"/> </startup> </configuration>
VisualStudioで言うと、「App1.config」って感じのファイルがあればそれ。なければ追加で「アプリケーション構成ファイル」を追加する。実際には「実行ファイル名.exe.config」みたいなファイルがそれ。
MSDN的には
このアプリケーションがサポートする共通言語ランタイム (CLR: Common Language Runtime) のバージョンを指定する文字列値。 CLR の最初の 3 つのバージョンは、"v1.0.3705"、"v1.1.4322"、 および "v2.0.50727" で指定します。 .NET Framework 4 以降では、必要となるのはメジャー バージョン番号と マイナー バージョン番号のみです (つまり、"v4.0.30319" ではなく "v4.0")。 短い文字列を使用することをお勧めします。 .NET Framework バージョン 3.0 および 3.5 では CLR のバージョン 2.0.50727 が使用されます。
だそうですよ。