我的机器: Windows XP (x86)、VS2008、.net 3.5、sql server 2005、WinForms -> App 工作正常。
生产机器: Windows 7 (x64), SQl Server 2005 Express -> App Starts but throws exception
Visual Studio在安装项目和 RMO 项目上以 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'
这是一个简单的 RMO(复制管理对象)应用程序,它在 SQL Server 2005 中启动请求订阅并显示状态。在我的机器上工作正常,但在生产机器上失败。我正在使用安装项目在生产机器上安装应用程序,但我认为我在某处缺少依赖项,但我无法弄清楚。在生产机器上,应用程序启动正常,但是当我尝试同步订阅时,我得到:
System.IO.FileNotFoundException: The Specified module could not be found. (Exception from HResult: 0x8007007E)
编辑: Win 7 中的任务管理器指示它作为 32 位应用程序 (myapp.exe *32) 运行。
编辑:好的,我的应用程序现在在任务管理器中显示它是 64 位应用程序,但我收到错误消息。我在想我如何有一个针对 x86 的依赖 dll。如何验证依赖 dll 的目标是正确的平台和/或确保它的目标是 x64...
无法加载文件或程序集“Microsoft.SqlServer.Replication,Version=10.0.0.0,Culture-neutral,PublicKey Token=89845dcd8080cc91”或其依赖项之一。试图加载格式不正确的程序。