VC++.NETへの移行について

解決


xyz  2006-03-29 15:27:32  No: 61063  IP: 192.*.*.*

お世話になります。

VC++6.0MFCで作成されたプロジェクトを、
VC++.NETに移行したいと考えています。

.NETについてあまり詳しいことは解からないのですが、
「.NET FrameWork」をインストールしておけば、
OSに影響されることなく動作が変わらないという認識
でいますが、まずこの認識はあっているでしょうか?

また、VC++6.0MFCで作成されたプロジェクトを
VC++.NETに移行した場合、上記の恩恵を受けることは
出来るのでしょうか?

※もしかしたら、.NETで開発したプログラムでも、
  .NET FrameWorkを意識したプログラミングをしないと
  上記の恩恵をうけることが出来ないのではないかと
  懸念しています。

よろしくお願いします。

編集 削除
Blue  2006-03-29 15:44:07  No: 61064  IP: 192.*.*.*

> ※もしかしたら、.NETで開発したプログラムでも、
>  .NET FrameWorkを意識したプログラミングをしないと
>  上記の恩恵をうけることが出来ないのではないかと
>  懸念しています。
多分そうです。.NET でも MFC を使って開発しているのならば、恩恵はうけることはできないでしょう。
(MFCはWindows環境に依存しているから)

編集 削除
Ban  2006-03-29 16:03:23  No: 61065  IP: 192.*.*.*

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 等で追加/整理されたクラスなどが使える
  (使わずに既に書かれていればあまり恩恵はないかも…

編集 削除
Ban  2006-03-29 16:05:27  No: 61066  IP: 192.*.*.*

> 「.NET FrameWork」をインストールしておけば、
> OSに影響されることなく動作が変わらないという認識

ごめんなさい。
.NET framework をインストールして、
.NET framework 用のプログラムを動かすのであれば、
動作が変わらない、ですね。

編集 削除
xyz  2006-03-29 21:02:10  No: 61067  IP: 192.*.*.*

回答ありがとうございます。

移植が必要なことがわかりました。

今後OSがVistaに変わり、
VC++6.0で作られたものが、
Vistaで動作するかわからないですし、
そろそろ考えないといけないと思っていたのですが...

OSに影響されないよう対策をとることが大変な作業
になることがわかりました。

編集 削除