예약 된 작업이 실행될 수 있는지 테스트 한 다음 작업을 실행하기 위해 백그라운드 작업자를 시작하는 Windows 서비스를 만들고 있습니다.백그라운드 작업자와의 Windows 서비스 파일 또는 어셈블리 오류를로드 할 수 없습니다.
Windows 서비스의 주 스레드 내에서 Windows 서비스 실행 파일과 동일한 디렉터리에있는 어셈블리에서 데이터 액세스 계층 (DAL) 개체를 만듭니다. 이것은 작동합니다.
배경 작업자 내에서 동일한 개체의 새 인스턴스를 만들려고합니다. 이것이 성공한 것 같습니다. DAL의 메서드는 어셈블리에서 SQL 파일을로드 한 다음 제공 데이터베이스에 대해 실행됩니다.
System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Windows\system32\DataConnector.dll' or one of its dependencies. The system cannot find the file specified.
File name: 'file:///C:\Windows\system32\DataConnector.dll'
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at DataConnector.DatabaseConnector.UpdateDatabase()
배경 작업자가 C에보고하려고 이유를 모르겠어요 : \ 디렉토리 \ WINDOWS \ system32를
어딘가에이 과정에서 나는 다음과 같은 오류가 발생합니다.
- 이것은 무엇을 의미 하는가를? SQL 파일이 어셈블리로 컴파일됩니까? –