dynamicキーワードでCOMを使うアプリの.NET Core 3.1への移植は再考すべき

.NET Core 3.1はLTSで、3年サポートがついているバージョンということもあり、.NET 5ではなく、.NET Core 3.1を考えておられる方もいらっしゃるかもしれません。
ただ、「dynamicキーワードでCOMを使うアプリの移植」を考えておられる場合は立ち止まるべきです。

実は、.NET Core 3.1において、dynamicキーワードを使ったCOM操作はできません。
実行しようとするとRuntimeBinderExceptionが発生します。

Dynamic keyword not working against COM objects #12587
https://github.com/dotnet/runtime/issues/12587

.NET 5でこの仕組みがサポートされており、Go Liveライセンスが付与されている「.NET 5 RC1」で動くことも確認できています。
ExcelなどのOfficeオートメーションをdynamicキーワードで触っている方は、.NET 5以上を考えましょう。
※ただし、.NET 5にLTSリリースはありません。次のLTSは来年の.NET 6の予定です。

コメントを残す

メールアドレスが公開されることはありません。