Question
パブリッシュしたライブラリのデータベース関連のワークフローを別のオートメーションプロジェクトから呼び出すとエラーが発生します。エラー解消方法を教えてください。
The specified invariant name ‘System.Data.SqlClient’ wasn’t found in the list of registered .NET Data Providers.
Answer
原因
「データベース」アクティビティパッケージの依存関係に「System.Data.SqlClient」が含まれるか否かはバージョンによって異なります。バージョン「1.6.1」以下には含まれていますが、バージョン「1.7.0」以上には含まれません。下記公式ガイドに記載している仕様変更が原因です。
v1.7.0
・重大な変更
接続オプションが System.Data.SqlClient のアクティビティを含む Windows - レガシ プロジェクトを Windows 対応プロジェクトに変換すると、接続オプションを Microsoft.Data.SqlClient に変更しない限り、実行時に例外がスローされます。
解決策
下記 2 通りのエラー解消方法をお試しください。
A) 呼び出すオートメーションプロジェクトで利用している依存関係のバージョンダウン
「データベース」アクティビティパッケージを依存関係に「System.Data.SqlClient」が含まれる「1.6.1」以下へバージョンダウンします。
B) 呼び出されるライブラリで利用している依存関係のバージョンアップ
「データベース」アクティビティパッケージを依存関係に「System.Data.SqlClient」が含まれない「1.7.0」以上へバージョンアップします。


