У меня возникает ошибка сборки при запуске приложения в качестве сервиса. Это происходит не всякий раз, когда я запускаю проект непосредственно из Visual Studio. Ниже приведено полное сообщение об ошибке. Кажется, что ошибка заключается в следующем:Ошибка сборки при запуске службы
Сравнивая имя сборки в результате несоответствия: ОТКРЫТОГО КЛЮЧА ЗНАК
Каждый знает, что PUBLIC KEY TOKEN
и как это исправить?
30/01/2017 11:06:41 a.m.: System.IO.FileLoadException: Could not load file or assembly 'ClearScript, Version=5.4.4.0, Culture=neutral, PublicKeyToken=935d0c957da47c73' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'ClearScript, Version=5.4.4.0, Culture=neutral, PublicKeyToken=935d0c957da47c73'
at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at System.Reflection.Assembly.GetType(String name)
at Microsoft.ClearScript.V8.V8Proxy.GetImplType(Type type)
at Microsoft.ClearScript.V8.V8Proxy.CreateImpl[T](Object[] args)
at Microsoft.ClearScript.V8.V8IsolateProxy.Create(String name, V8RuntimeConstraints constraints, Boolean enableDebugging, Int32 debugPort)
at Microsoft.ClearScript.V8.V8Runtime..ctor(String name, V8RuntimeConstraints constraints, V8RuntimeFlags flags, Int32 debugPort)
at Microsoft.ClearScript.V8.V8Runtime..ctor(String name, V8RuntimeConstraints constraints, V8RuntimeFlags flags)
at Microsoft.ClearScript.V8.V8Runtime..ctor(String name, V8RuntimeConstraints constraints)
at Microsoft.ClearScript.V8.V8ScriptEngine..ctor(V8Runtime runtime, String name, V8RuntimeConstraints constraints, V8ScriptEngineFlags flags, Int32 debugPort)
at Microsoft.ClearScript.V8.V8ScriptEngine..ctor(String name, V8RuntimeConstraints constraints, V8ScriptEngineFlags flags, Int32 debugPort)
at Microsoft.ClearScript.V8.V8ScriptEngine..ctor(V8ScriptEngineFlags flags, Int32 debugPort)
at Microsoft.ClearScript.V8.V8ScriptEngine..ctor(V8ScriptEngineFlags flags)
at NinoJS.Core.Main.RunScript(Object filePath)
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable C:\NinoJS\NinoJS\NinoJS.Service.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = ClearScript, Version=5.4.4.0, Culture=neutral, PublicKeyToken=935d0c957da47c73
(Fully-specified)
LOG: Appbase = file:///C:/NinoJS/NinoJS/
LOG: Initial PrivatePath = NULL
Calling assembly : ClearScriptV8-32, Version=5.4.4.0, Culture=neutral, PublicKeyToken=935d0c957da47c73.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\NinoJS\NinoJS\NinoJS.Service.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: ClearScript, Version=5.4.4.0, Culture=neutral, PublicKeyToken=935d0c957da47c73
LOG: Attempting download of new URL file:///C:/NinoJS/NinoJS/ClearScript.DLL.
WRN: Comparing the assembly name resulted in the mismatch: PUBLIC KEY TOKEN
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
это кажется более серьезным: System.IO.FileLoadException: Не удалось загрузить файл или сборку 'ClearScript, Version = 5.4.4.0. Убедитесь, что DLL находится в той же папке, что и исполняемый файл. – invalidusername
@invalidusername библиотека находится в одной папке, это первое, что я проверил. – NicoRiff
Попробуйте настроить службу Windows для запуска под локальным пользователем Windows, а не под системным пользователем (по умолчанию). Эти параметры можно найти в свойствах службы Windows. Это может помочь. –