Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
Search
Ken'ichirou Kimura
January 11, 2025
Technology
1
290
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
2025/1/11に開催された.NET Conf 2024 Fukuoka x OsakaでのLT資料です。
https://fukuten.connpass.com/event/333954/
Ken'ichirou Kimura
January 11, 2025
Tweet
Share
More Decks by Ken'ichirou Kimura
See All by Ken'ichirou Kimura
LINE Notify互換のボットを作った話
kenichirokimura
0
200
自分がご機嫌になれる 素敵な場所を守るために
kenichirokimura
2
84
AWSで動くプログラムをC#で書こう ~主にLambdaのお話~
kenichirokimura
1
70
Alternative GitHub Secret Manager
kenichirokimura
0
82
SORACOMで実現するIoTのマルチクラウド対応 - IoTでのクリーンアーキテクチャの実現 -
kenichirokimura
0
600
How to use Amazon Cognito user pools with custom UI and also OIDC
kenichirokimura
0
410
あなたも今日からIoTと握手! SORACOM/SORACOM UGの紹介
kenichirokimura
1
140
推し活の1つとしての株購入~みんなでソラコムの株主になろう~
kenichirokimura
0
240
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
1.5k
Other Decks in Technology
See All in Technology
QA/SDETの現在と、これからの挑戦
imtnd
0
130
Amazon CloudWatchで始める エンドユーザー体験のモニタリング
o11yfes2023
0
190
AWSで作るセキュアな認証基盤with OAuth mTLS / Secure Authentication Infrastructure with OAuth mTLS on AWS
kaminashi
0
160
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
Стильный код: натуральный поиск редких атрибутов по картинке. Юлия Антохина, Data Scientist, Lamoda Tech
lamodatech
0
720
Road to Go Gem #rubykaigi
sue445
0
470
バックオフィス向け toB SaaS バクラクにおけるレコメンド技術活用 / recommender-systems-in-layerx-bakuraku
yuya4
6
540
Creating Awesome Change in SmartNews
martin_lover
1
280
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
210
ブラウザのレガシー・独自機能を愛でる-Firefoxの脆弱性4選- / Browser Crash Club #1
masatokinugawa
1
470
Automatically generating types by running tests
sinsoku
2
3k
品質文化を支える小さいクロスファンクショナルなチーム / Cross-functional teams fostering quality culture
toma_sm
0
110
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Building an army of robots
kneath
304
45k
Speed Design
sergeychernyshev
29
900
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building Applications with DynamoDB
mza
94
6.3k
YesSQL, Process and Tooling at Scale
rocio
172
14k
The Cult of Friendly URLs
andyhume
78
6.3k
KATA
mclloyd
29
14k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
It's Worth the Effort
3n
184
28k
Transcript
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. Amazon Q
Developerで .NET Frameworkプロジェクトを モダナイズしてみた 木村健一郎 2025年1月11日 .NET Conf Fukuoka x Osaka
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 名前 :木村健一郎
所属 :株式会社オルターブース SORACOM UG九州 JAWS-UG福岡 娘ちゃんのパパ(7歳6ヶ月) お仕事:IoT番長 受賞歴:SORACOM MVC 2021,2023 AWS Samurai 2019 APJ Commnity Award 2023(Ownership) 気になる.NET :.NET nanoFramework 好きなAWSサービス :Lambda、App Runner、IoT Core SNS : @show_m001
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved.
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. Amazon Qとは
• AWSの、生成AIを利用したアシスタントサービス • Amazon Q BusinessとAmazon Q Developerがある • まぁAWSのCopilotみたいなものでAmazon Q Developerが GitHub Copilotと思えば良さそう(雑)
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 昨年のre:Invent2024 こんな発表がありました
https://aws.amazon.com/jp/blogs/aws/announcing- amazon-q-developer-transformation-capabilities-for-net- preview/
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 要約すると •
これまで.NET Frameworkから.NETへの移行ツールを提供し てきた • Porting Assistant for .NET • AWS Toolkit for .NET Refactoring • AWS Microservice Extractor for .NET • 今回、Amazon Q Developer transform for .NETをプレ ビューで発表した • Amazon Q Developerの力で変換プランを生成し、タスクを実行する • つまりGitHub Copilot Upgrade Assistant for .NETの Amazon Q Developer版
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 早速やってみた やったこと
1. AWS Toolkit with Amazon QをVS2022にインストール 2. サンプルとして準備した.NET Framework Webアプリケー ション(MVC)を開く 3. コンテキストメニューから「Port project with Amazon Q Developer」を選ぶ 4. プランとタスクを確認して適用 5. 手動で解決すべき事を実施
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. とりあえずサンプルのプロジェクトをビルドして実行したらこんな感じ
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. ソリューションを右クリックしてコンテキストメニューから「Port solution
with Amazon Q Developer」を選びます。 ターゲットはLTS(net8.0)しか選べませんでした。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. しばらく待ってると無事変換が完了。4:41で終わってますね。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 実施されたタスクの一覧を見てみるとこんな感じ。 appsettings.jsonやProgram.csやStartup.csを作ったり、cssやviewの場所が移動したり、
Controllerを書き換えたりと、だいたい見慣れた変換が行われてます。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. Controllerの変換タスクの詳細でdiffを見てみるとこんな感じ。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. タスクを全部適用したらそれで完了・・とはいきません。 今回の場合はviewのcshtmlは手動の対応が必要でしたので手で直していきます。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 無事ビルドできて起動できました。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 番長~、Web Formsの
プロジェクトがたくさん あるんだけど・・・
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 変換できるプロジェクトタイプは ・コンソールアプリ
・クラスライブラリ ・Web API ・WCF Service ・MVCとSPAのビジネスロジックレイヤー ・テスト サポートしてないプロジェクトはスキップするよ
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 対 応
プ ロ ジ ェ ク ト タ イ プ に 入 っ て な い か ら
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. まとめ •
Amazon Q Developer transform for .NETで、.NET Frameworkのプロジェクトを最新の.NETに変換できた • 簡単なMVCのプロジェクトしか試してないけど、対応してる部分は全 て完全に自動で変換してくれて精度は良さそうな印象 • 今後、他のタイプや複雑なものも試してみたい • 対応してないプロジェクトタイプは無視されるので、MVCの Viewなどは手動の対応が必要 • 機械的に置き換えできそうな所くらいはGAまでに何とかならないかと 期待 • Web Formsは・・・
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved.