私のマシン: Windows XP (x86)、VS2008、.net 3.5、SQL サーバー 2005、WinForms -> アプリは正常に動作します。
運用マシン: Windows 7 (x64)、SQl Server 2005 Express -> アプリは起動するが例外がスローされる
セットアップ プロジェクトおよび RMO プロジェクトでのVisual Studioターゲット x86。Visual Studio からいくつかの警告が表示されますが、まだビルドできます。
Unable to find dependency 'MICROSOFT.SQLSERVER.MANAGEMENT.SQLPARSER' (Signature='89845DCD8080CC91' Version='10.0.0.0') of assembly 'Microsoft.SqlServer.Smo.dll'
Unable to find dependency 'MICROSOFT.SQLSERVER.MANAGEMENT.SQLPARSER' (Signature='89845DCD8080CC91' Version='10.0.0.0') of assembly 'Microsoft.SqlServer.Management.SmoMetadataProvider.dll'
これは、SQL Server 2005 でプル サブスクリプションを開始し、ステータスを表示する単純な RMO (レプリケーション管理オブジェクト) アプリです。私のマシンでは正常に動作しますが、本番マシンでは失敗します。セットアップ プロジェクトを使用して実稼働マシンにアプリをインストールしていますが、依存関係がどこかに欠けていると思いますが、それがわかりません。運用マシンでは、アプリは正常に起動しますが、サブスクリプションを同期しようとすると、次のようになります。
System.IO.FileNotFoundException: The Specified module could not be found. (Exception from HResult: 0x8007007E)
編集: Win 7 のタスク マネージャーは、32 ビット アプリ (myapp.exe *32) として実行されていることを示します。
編集: OK、私のアプリはタスク マネージャーに 64 ビット アプリであると表示されていますが、エラーが発生しています。私は、x86を対象とする依存関係のdllをどうにか持っていると考えています。依存関係の dll が正しいプラットフォームをターゲットにしていること、および/または x64 をターゲットにしていることを確認するにはどうすればよいですか?
ファイルまたはアセンブリ 'Microsoft.SqlServer.Replication, Version=10.0.0.0, Culture-neutral, PublicKey Token=89845dcd8080cc91' またはその依存関係の 1 つを読み込めませんでした。不正な形式のプログラムをロードしようとしました。