お世話になります。
VC++6.0MFCで作成されたプロジェクトを、
VC++.NETに移行したいと考えています。
.NETについてあまり詳しいことは解からないのですが、
「.NET FrameWork」をインストールしておけば、
OSに影響されることなく動作が変わらないという認識
でいますが、まずこの認識はあっているでしょうか?
また、VC++6.0MFCで作成されたプロジェクトを
VC++.NETに移行した場合、上記の恩恵を受けることは
出来るのでしょうか?
※もしかしたら、.NETで開発したプログラムでも、
.NET FrameWorkを意識したプログラミングをしないと
上記の恩恵をうけることが出来ないのではないかと
懸念しています。
よろしくお願いします。
> ※もしかしたら、.NETで開発したプログラムでも、
> .NET FrameWorkを意識したプログラミングをしないと
> 上記の恩恵をうけることが出来ないのではないかと
> 懸念しています。
多分そうです。.NET でも MFC を使って開発しているのならば、恩恵はうけることはできないでしょう。
(MFCはWindows環境に依存しているから)
VC.NET は「.NET framework "にも対応した" VC」に過ぎません。
# コンパイラの内部バージョンとしては、.NET2002がVC7.0、.NET2003がVC7.1
# そして VC2005がVC8相当。
> .NETについてあまり詳しいことは解からないのですが、
> 「.NET FrameWork」をインストールしておけば、
> OSに影響されることなく動作が変わらないという認識
> でいますが、まずこの認識はあっているでしょうか?
基本認識としては。
現実的には、.NET framework のバージョンとか、Windows以外のOSの対応状況とか
あるわけですが…。
> また、VC++6.0MFCで作成されたプロジェクトをVC++.NETに移行した場合、
> 上記の恩恵を受けることは出来るのでしょうか?
Blue さんも書かれている通り、基本的には受けられません。
.NET framework ベースで書き直すとか「移植」しないと、
「移行」だけでは無理です。
多分、移行レベルで受けられる恩恵としては…
・サポート切れの VC6 と違い、Microsoft のサポートが謳われている
・template, namespace 等を中心に、ライブラリ・コンパイラのバグが多数改修
・MFC7, ATL7 等で追加/整理されたクラスなどが使える
(使わずに既に書かれていればあまり恩恵はないかも…
> 「.NET FrameWork」をインストールしておけば、
> OSに影響されることなく動作が変わらないという認識
ごめんなさい。
.NET framework をインストールして、
.NET framework 用のプログラムを動かすのであれば、
動作が変わらない、ですね。
回答ありがとうございます。
移植が必要なことがわかりました。
今後OSがVistaに変わり、
VC++6.0で作られたものが、
Vistaで動作するかわからないですし、
そろそろ考えないといけないと思っていたのですが...
OSに影響されないよう対策をとることが大変な作業
になることがわかりました。
ツイート | ![]() |