2017-11-29 13 views
1

.NET用に構築されたSQL ServerまたはVistaDBデータベースにアクセスできるC#.Net Officeアドインアプリケーション(Add-In Expressを使用)があります。 4.5すべてのCPU。アドインは、SQL Server 2014がインストールされているWindows 10のボックスでOKを実行しますが、SQL ServerがインストールされていないWindows 7のボックスにインストールされている場合、Microsoft.SqlServer.Smo.dllまたはその依存関係の1つが見つかりません。 Win 7ボックスのMicrosoft.SqlServer.dllにDependency walkerが表示されている場合は、いくつかのエラーが表示されます。 enter image description here Win 10 Box Dependency Walkerでは、問題のDLLにすべてのAPI-MS-WIN- *モジュールが表示されますイエローの疑問符は横にありますが、砂時計はなく、右側に「ファイルはローカルディレクトリまたは検索パスに見つかりません」というメッセージが表示されますが、エラーメッセージは表示されず、プログラムは正常に実行されます。Microsoft.SqlServer.Smo.dllにWin 7マシンの依存関係がありません

SQL Serverを含むコードはアドインによって実行されていませんが、SQL Serve DLLがアクセスされ、アドインが失敗しているようです。

コードがWin 7ボックスで実行されない限り、またはこのエラーを何らかの方法で取り除かない限り、SQL ServerのDLLにアクセスできないようにする方法はありますか? C#

答えて

1

私が考えることができる唯一の解決策は、クライアントマシンにSMOの依存関係をインストールすることです。これはオプションですか?メモリから、軽量のインストールが必要です。SharedManagementObjects.msi。

+0

(SharedManagementObjects.msiには前提条件としてSQLSysClrTypes.msiも必要です)、同じMicrosoft.SqlServer.Smo.dllでdepends.exeを実行すると同じエラーが表示されます。 C:\ Program Files \ Microsoft SQL Server \ 130 \ SDK \ Assembliesに表示されるdllのエラーと同じです。 – SimonKravis

+0

さらに、Officeアドイン(Office 2016アプリケーションから)を実行しているときにのみエラーが発生することがあります。同じコードへの呼び出しは、Windowsフォームアプリケーションに表示され、成功しています。Google検索では、Depends.exeには何も問題がないことが示されています。 – SimonKravis

+0

はい、SQLSysClrTypes.msiが別の前提条件だったことを覚えています。私がこれを使用した実装は、独自のデータベースを作成するためにSMOを使用したwinformsアプリケーションでした。恐らく、depends.exeが問題を強調表示している可能性があり、アドインから引き続きこの問題が発生する可能性があります。 –

関連する問題