Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Clearscript files cannot be found on host

Tags:

Like a lot of others I'm receiving the following error when deploying my ASP.Net MVC application:

Cannot load V8 interface assembly; verify that the following files are installed with your application: ClearScriptV8-32.dll, ClearScriptV8-64.dll, v8-ia32.dll, v8-x64.dll

Clearscript was installed as part of an effort to transform less files on the fly for page requests.

I have tested my application locally in ISS Express and ISS without a hitch.

As suggested here http://clearscript3.rssing.com/chan-14849437/all_p12.html I've also included the missing code libraries as resources to my project.

ClearScriptV8-32.dll, ClearScriptV8-64.dll, v8-ia32.dll, v8-x64.dll are all included in a folder ClearScript.V8 in the bin folder. Removing this folder does not resolve the issue.

At my wits end. Any help is appreciated.

like image 250
Levon Avatar asked Apr 25 '14 19:04

Levon


2 Answers

the cause is that asp.net load instantly all libraries in /bin directory. I added the following rule to ignore Clearscript assemblies, and it worked

<configuration>     <system.diagnostics>         <trace autoflush="true" />     </system.diagnostics>     <system.web>         <compilation>             <assemblies>                  <remove assembly="ClearScriptV8-64" />                 <remove assembly="ClearScriptV8-32" />                ....             </assemblies>         </compilation> 

...

like image 200
piotrbrzuska Avatar answered Oct 12 '22 13:10

piotrbrzuska


To be clear this exception is not always caused by a missing ClearScriptV8-32.dll, ClearScriptV8-64.dll, v8-ia32.dll or v8-x64.dll. Oftentimes the issue is that a dll referenced by one of the aforementioned dlls cannot be found. In cases where the appropriate dlls are on the server installing the appropriate Visual C++ Redistributable will usually solve this transitive dependency issue.

According to the project's discussion forum ClearScript no longer supports Visual Studio 2012. Meaning the version of the Visual C++ Redistributable that needs to be installed on your server is dependent on the version of ClearScript your project is utilizing:

  • ClearScript Versions 5.0 - 5.3: Visual C++ Redistributable for Visual Studio 2012
  • ClearScript Versions 5.4 - .....: Visual C++ Redistributable for Visual Studio 2013
like image 28
ahsteele Avatar answered Oct 12 '22 13:10

ahsteele