投稿

ラベル(.Net Core5)が付いた投稿を表示しています

Translate

.NetFrameworkから.Net Coreの移行で出来ない事[WindowsForm編]

イメージ
.NetFrameworkから.NetCoreで作り直す時に直面した事 フレームワークのバージョンを変更するだけで移行が可能か? .Framerowkのバージョンが上がるだけだった場合の移行では、使用する.Frameworkのバージョンを変更するだけでも、ある程度新しい.NetFrameworkに変換がされたが、.NetFrameworkから、.Net Coreへは、根本的にアーキテクチャが異なるようで、使用するフレームワークを変更するという単純な方法では出来ないようであった。 変換する方法自体はいくつかあるば、「.NET Portability Analyzer」を利用し、行こう可能なアセンブルを分析したり等で、調整していく方法である。 筆者の経験上、こういった変換は、動作確認に多くの時間を割く上に、その後リリース後の、動作不良を起こした際に、影響範囲の特定にまた時間を掛け、みたいな、急を要するトラブルの責任リスクや、評価に繋がってしまうのを経験している為、基本的には、アーキテクチャが変わった場合には、ゼロから作り直す方法を取っている。 ゼロからといっても、.NetFrameworkの作り方に依存しすぎる作りをしていない限りは、コードのコピー&ペーストが利用できるところも多い為、全くのゼロではない。 .NetFrameworkから、.NET Coreへの画面デザインコピーでつまづいた 移行で実際大変なのは、画面デザイン。 ボタンの大きさ、画面の大きさ、位置に、フォントサイズや、フォントの種類・・・と言った事を、いちいちゼロからやるのは、とても大変である。 ところが、試しに、.NetFramework4.7.2から、Core 5で作成したWindowsFormsの画面に、コピー&ペーストで貼り付けようとすると、なんと、貼り付けられなかった。 今後、貼り付け時に変換して貼り付けられる等、改善される可能性もあるが、.Net Coreの登場から5までバージョンが上がっているが、そういった様子もこれまでなかったようなので、画面デザインに関しては、位置やサイズ、カラー等の部分的なところをコピーして、デザイン移行していく事になりそうだ。 画面のボタン配置などを、レガ