2017-10-16 18 views
2

파일, 그리고 유일한 차이점은 내 bin 폴더에서이 이상한 파일입니다 Microsoft.SqlServer.BatchParserClien.dll :파일 또는 어셈블리를로드 할 수 없습니다 '나는 SMO 작업이 실패하는이 미친 문제가 이름

파일 또는 어셈블리 'Microsoft.SqlServer.BatchParserClien.dll

주를로드 할 수 없습니다 : 그건 오타가 아니라, 그 파일 시스템에있는 파일의 실제 이름입니다.

내가 무엇을해야할지 모르겠다. 이전에는 내 bin 폴더에서 이런 것을 본 적이 없다. 내가 뭐하는 거지

작업은 다음과 같습니다 I 버전 140.17177.0으로 Microsoft.SqlServer.SqlManagementObjects nuget 패키지를 사용하고

var distributor = new ReplicationServer(conn); 
        if (!distributor.DistributorInstalled) 
        { 
         distributor.InstallDistributor((string)null, distributionDb); 
        } 

.

예외의 융합 로그이다

=== 사전 결합 상태 정보 === LOG : 표시 이름 = Microsoft.SqlServer.BatchParser 버전 = 14.100.0.0 문화 = 중립 PublicKeyToken = 89845dcd8080cc91 (완전 지정) LOG : Appbase = file : /// C :/tfs/Back Office/지속성/ReplicationManagement/Worker/bin/Debug/LOG : 초기 PrivatePath = NULL 호출 어셈블리 : Microsoft. SqlServer.BatchParserClient, 버전 = 14.100.0.0, 문화 = 중립, PublicKeyToken = 89845dcd8080cc91. === LOG :이 바인드는 기본로드 컨텍스트에서 시작됩니다. 로그 : 응용 프로그램 구성 파일 사용 : C : \ tfs \ Back Office \ Persistence \ ReplicationManagement \ Worker \ bin \ Debug \ Worker.exe.Config 로그 : 호스트 구성 파일 사용 : LOG : 컴퓨터 구성 사용 파일 C : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ config \ machine.config. 로그 : 정책 후 참조 : Microsoft.SqlServer.BatchParser, 버전 = 14.100.0.0, 문화 = 중립, PublicKeyToken = 89845dcd8080cc91 로그 : 새 URL 파일 다운로드 시도 : /// C :/tfs/Back Office/지속성/ReplicationManagement/Worker/bin/Debug/Microsoft.SqlServer.BatchParser.DLL. ERR : 어셈블리 설치를 완료하지 못했습니다 (hr = 0x8007000b). 검사 중 이 종료되었습니다.

BatchParser 파일은 동일한 버전이 지정된 bin에 있습니다. 나는이 프로젝트가 작동하는 한 프로젝트를 가지고 있으며 유일한 차이점은 파일 이름입니다.

+0

MS Connect에서 동일한 문제가 발생했습니다. https://connect.microsoft.com/SQLServer/feedback/details/3140836/smo-nuget-packages-do-not-work- 신뢰할 수있는 덕분에 gac-dependency-on-sqlserver-batchparser-dll – Rajesh

답변

1

비슷한 문제가있었습니다. Microsoft.SqlServer.SqlManagementObjects Nuget 패키지를 사용하는 SMO 응용 프로그램이 있습니다.

앱은 모두 내 p.c에서 완벽하게 실행되지만 앱을 배포하고 앱 서버에서 실행하면 오류가 발생합니다.

파일 또는 어셈블리 'Microsoft.SqlServer.BatchParser.dll'또는 해당 종속성 중 하나를로드 할 수 없습니다. 지정한 모듈을 찾을 수 없습니다.

문제를 해결하려면 x86 플랫폼을 대상으로 프로젝트를 다시 빌드해야했습니다. 그런 다음 해당 x86을 설치해야했습니다. C++ Redistributable Package