.NET 4.0 64 bit support

Mar 1, 2012 at 8:05 PM
Edited Mar 1, 2012 at 9:16 PM

first, thx for the greate work, you're doing. The problem, why it's "unpossible" to use it, it the fact, that there are not .NET 4.0 x64 binaries. My application is a .NET 4.0 application(and it uses 4.0 functions) and it's running in x64-Mode (yes, it requieres really 3-6 GB of memory, it's a large server application). I read, that you do not find the matter, why it's not possible to compile it in .NET x64.

I have no knowledge in c++, so i can't help you with that. And i know, too, that x64 is "official" not supported, even not from chromium itself. But are you still looking for this issue? When do you think it would be possible to have .NET 4.0 x64 binaries?

Would it possible to link the vs2008 generated v8-lib-file into the vs2008 .net 4.0 x64 noesis.dll? Please do not hit, i have no knowledge about c++.


Mar 2, 2012 at 8:02 AM
Edited Mar 2, 2012 at 9:56 PM

Wow, i was able to compile the latest V8 sources and get it running with .NET 4.0 x64 :) I workd 12h to find the right way. Yeah, and i still "can't" c++ :P

I wrote the instructions in a pastebin-file, here it is:


I can't upload here attachments, so if somebody is interested in the binaries, let me know.

Sebastian from Germany

Mar 4, 2012 at 9:53 PM

Hi Arakis,

Great work, thanks!  You could upload your binaries to a new issue.


Mar 7, 2012 at 1:25 AM

Hello Oliver,

I've uploaded it:

Maybe you want reply to this topic, too:


Mar 7, 2012 at 9:26 PM

Thanks for the upload.  I haven't replied to that other thread because I don't have time to actually do anything with this stuff.

Mar 14, 2012 at 6:38 AM

I was able to build x64 using your instructions, which is great because I've previously failed to build using both scons and gyp.  Maybe my scons problem had to do with having 64-bit Python installed.

Anyway, I'm in the process of making Visual Studio project files for the portions of your build done by CreateAssembly.bat.  My goal is that building javascriptdotnet from source files will work something like this:

  1. User is instructed to check out a specific branch of v8, or the latest branch if they feel brave.  (I prefer v8 branches to the trunk because they say they are more stable.)
  2. User is instructed to install 32-bit Python, pywin32 and scons.
  3. javascriptdotnet Batch files will set the path and run scons to build v8 using VS2008 or VS2010, and x64 or win32.
  4. Visual Studio 2008 and 2010 projects will be included to compile the javascriptdotnet .cpp files, and run the regression tests.

Building is a bit more trouble under this scheme, but updating v8 is trivial.



Mar 14, 2012 at 7:39 PM

I really could use a 64 bit version asap. :) For some reason I cannot get IIS to run 32 bit applications, even after setting the "Allow 32bit applications" flag on the app pool. I've tried some other frameworks but this is the only one which is fast and successfully interprets jslint.

Mar 15, 2012 at 2:24 AM

For posterity, I note how I checked Arakis' cl.exe command-line options against Visual Studio options.  "+" means I have confirmed that an option was being used by Visual Studio, "-" means I did not retain that option.

+ /clr
+ /Gy          #          Enable Function-Level Linking - perhaps not needed
+ /nologo
+ /W3
+ /WX          # OMITTED  Treat Linker Warnings as Errors
+ /O2          # DEFAULT  Optimize Code (RELEASE only)
+ /MD          # DEFAULT  Multithreaded DLL
+ /GL          #          Whole-program optimization (RELEASE only)
+ /DWIN32
- /DV8_TARGET_ARCH_X64        # OMITTED  Not used in v8.h, so irrelevent
- /DENABLE_DEBUGGER_SUPPORT   # OMITTED  Not used in v8.h, so irrelevent
- /WDxxxx     # OMITTED  These flags disabled warnings that were not appearing anyway
+ /Zi
+ /Iinclude
+ JavascriptContext.cpp JavascriptException.cpp JavascriptExternal.cpp JavascriptInterop.cpp SystemInterop.cpp
+ v8.lib winmm.lib ws2_32.lib
+ /link
+ /dll
+ /out:noesis.javascript.dll

Mar 16, 2012 at 6:31 AM

Release 0.6 is now available for download, and includes 64-bit DLLs for both .Net 3.5 and .Net 4.0.