Microsoft Store アプリの証明書の更新
メモ:
ひさしぶりに Microsoft Store アプリを更新した。
証明書の有効期限が切れていた。
Visual Studio マニフェスト デザイナーで アプリの紐づけし直すだけ・・・だと思っていたが、うまくいかなかった。
アプリケーション パッケージに署名する証明書が見つかりません 的なメッセージが出てしまう。
- アプリの紐づけし直し
- アプリケーションパッケージを別途追加 してみる
- 自己署名証明書 を作成してみる
などなどを何度かしていたら、有効な証明書が作成されて選択できるようになった。
何が影響したのか不明・・・。
MahApps.Metro の DropDownButton でのエラー
メモ:
WPFプロジェクトで、MahApps.Metro の DropDownButton使っていたら実行時エラーが出た。(動作は問題ない?)
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=HorizontalContentAlignment; DataItem=null; target element is 'MenuItem' (Name=''); target property is 'HorizontalContentAlignment' (type 'HorizontalAlignment') System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=VerticalContentAlignment; DataItem=null; target element is 'MenuItem' (Name=''); target property is 'VerticalContentAlignment' (type 'VerticalAlignment')
MahApps というよりWPF関連の既知の動作っぽい。
MenuItemを対象に Style設定をして回避。
<mah:DropDownButton> <mah:DropDownButton.ItemContainerStyle> <Style BasedOn="{StaticResource {x:Type MenuItem}}" TargetType="{x:Type MenuItem}"> <Setter Property="HorizontalContentAlignment" Value="Left" /> <Setter Property="VerticalContentAlignment" Value="Center" /> </Style> </mah:DropDownButton.ItemContainerStyle> </mah:DropDownButton>
参考:
MahApps:ToggleSwitch で 一部の色を変更
メモ:
状況
mahapps の ToggleSwitch を使っていたら、ONの時の表示がおかしくなってしまった。
実態はあるが、白くなって見えなくなっている。
最初はきちんと表示されていたから、別で変なコードを書いた影響だと思う(が、分からん)。
回避
これ ↓ を参考に色を設定
ToggleSwitch に背景色を設定
// 元: <mah:ToggleSwitch IsOn="True" /> <mah:ToggleSwitch IsOn="False" />
↓↓↓↓
<mah:ToggleSwitch IsOn="True"> <mah:ToggleSwitch.Resources> <SolidColorBrush x:Key="MahApps.Brushes.ToggleSwitch.FillOn" Color="{StaticResource MahApps.Colors.Accent}" /> </mah:ToggleSwitch.Resources> </mah:ToggleSwitch> <mah:ToggleSwitch IsOn="False" />
Microsoft Developer Day 視聴メモ BS15
Microsoft Developer Day 視聴メモ BS15
.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション BS15
視聴メモ:
導入
- 移行計画をステークホルダーと共有
知見が無い段階だと、移行計画は困難
ツールを活用して移行計画や手順を作成
手順と問題点
- 移行計画(調査/作業のリストアップ/作業量の見積もり)
- 移行実施(コード修正)
テスト
問題点:移行計画の段階では精度が低い > ツール活用しよう
ツール活用
Net portability analyzer
- まだ .net5 まで(これでも ほぼカバーできる)
- ほどなく .net6 対応される?
- まだ .net5 まで(これでも ほぼカバーできる)
NET Upgrade Assistant
- 変換
上記以外は手作業
手順
- Net portability analyzer で確認
- .NET Upgrade Assistant で変換
- 移行計画作成
- 移行実施
- テスト
Windows Form 移行デモ
- NET Upgrade Assistant ステップごと
end
Microsoft Developer Day 視聴メモ BS4
Microsoft Developer Day 視聴メモ BS4
時は来たれり。今こそ .NET 6 へ移行する時 BS4
視聴メモ:
事前
PackageReference 形式
- package.config → プロジェクトファイル
- 推移的な依存を削除(依存の依存の・・・)
- package.config → PackageReference は 右クリックから可能
SDKスタイル
依存先の調査
Nuget/プロジェクト参照/非Nugetパッケージ
Nuget
- .NetStandard or .NetCoreの依存があれば (たぶん).Net6で稼働
- ライブラリの破壊的変更のエラーは厄介なことが多い
- .Net6移行とライブラリ移行の混在は厄介
プロジェクト参照
- 移行不要の可能性あり→互換モード
- .Net standard2.0 として参照
非Nugetパッケージ(DLLのみ)
- 開発元に聞く
- .Net portability analyzer で解析
- 分からなかった場合は、別を検討
- .Net portability analyzer 使用例
- 現状:.net5への移行をチェックしてくれる
移行
.Net6への移行
- プロジェクトの変更は簡易
依存先のアップグレード
- Nugetをあげる&エラー修正
- API(エラー)への対応
- Visual Studioであれば警告出る
- 使用てきないAPI/例外をスローするAPI → 再実装
- 挙動が違うAPI → 修正
移行ツール
- .NET Upgrade Assistant
- Xamarin 今後対応予定がある
- ここまで紹介してきたものを、ほぼ全て対応してくれる
- 各処理を個別にスキップも可能
- Nugetの更新は、使用しない(スキップ)がおすすめ。他のエラーと混ざると厄介(司会意見)
フレームワーク別に説明
WindowsForm/WPF
- Windows互換性パッケージ参照を追加
ASP.NET Core MVC
- ASP.NET Core MVC2.2 に一旦 移行する。(2.2 は互換性高い。手動移行)
- Upgrade Assistantで、 Core2.2へ
- 手動でcore3.1 に
- Upgrade Assistantで 最終形に
Xamarin Forms
- 2022-Q2 まで待って
Xamarin ネイティブ
- Vsプレビューならテンプレートがある(司会:たぶんこれかな?)
ASP.Net WEB Form
WCF
- gRPC への移行(司会おすすめ)
- CoreWCFへの移行
end
Microsoft Developer Day 視聴メモ BS3
Microsoft Developer Day 視聴メモ BS3
Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介 BS3
視聴メモ:
Windows Forms
- デザイナーはプレビュー(現時点)
- Github上で改善が継続
- HighDPI/PreMonitorDPI 対応にやや難あり
- 複雑なレイアウトは大変
- デモ
- プレビュー機能は 環境設定から(プレビュー)ONにできる
WPF
MAUI
- 機能が最大公約数的なものになる
- Windowsアプリを作るだけであれば、他の選択肢でもよい
- 2022-Q2 にリリース予定
- BlazorWebView
- WebViewでレンダリング
- ロジックは.Netランタイム
- デモ
WindowsAppSDK
- メモが間に合わず
司会者のおすすめ
- 現時点では、(現在)WPF → (将来)WindowsAppSDK がおすすめ?
- WinUI は今後注力される。(Windows11にも なじむ)
- なるべくUIとロジックは分離しておくと移行も楽。
end