2017-11-29 7 views
1

.Net 용으로 빌드 된 SQL Server 또는 VistaDB 데이터베이스에 액세스 할 수있는 C# .NET Office 추가 기능 응용 프로그램 (Add-In Express 사용)이 있습니다. 4.5 모든 CPU. 추가 기능은 SQL Server 2014가 설치된 Windows 10 상자에서 정상적으로 실행되지만 SQL Server가없는 Windows 7 상자에 Microsoft SQL Server.Smo.dll을 말하는 오류가 발생하거나 종속성 중 하나를 찾을 수없는 경우 . Win 7 상자의 Microsoft.SqlServer.dll에서 종속성 워커를 실행하면 여러 오류가 표시됩니다. enter image description here Windows 10 Box 종속성 워커에서 문제가있는 dll에는 모든 API-MS-WIN- * 모듈이 표시됩니다. 그 옆에 노란색 물음표는 있지만 모래 시계는없고 "파일은 로컬 디렉토리 또는 검색 경로에서 찾을 수 없습니다"라는 오류 메시지가 나타나지 않고 프로그램이 정상적으로 실행됩니다.Microsoft.SqlServer.Smo.dll이 Windows 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 Forms 응용 프로그램에 나타나고 성공합니다. Google 검색은 Depends.exe가없는 경우 문제가 있음을 나타냅니다. – SimonKravis

+0

예 SQLSysClrTypes.msi가 또 다른 전제 조건이었습니다. 내가 이것을 사용하는 구현은 자체 데이터베이스를 생성하기 위해 SMO를 사용하는 winforms 애플리케이션이었습니다. 아마도 depends.exe에서 아무 것도 없는데도 문제가있을 수 있으며 여전히 추가 기능에서 문제가없는 것일 수 있습니다. –