Mono support

Oct 30, 2014 at 10:46 PM
Hi All,

I've been spending some time trying to get blogengine working on mono again, and I've finally done it. Unfortunately, at the moment, neither the Blogengine that is available for download, nor the packaged version of mono will allow this to happen.

The mono version shouldn't be a problem soon as when the PR's get merged everything will be fine. The BlogEngine version however is beyond me to create the pull as I don't understand mercurial.

I was wondering if this is actually something that the project would like to support going forward?

The list of changes is currently small, however, I haven't done a thorough test yet.
  • Remove the ScriptManager bundling as it's not required.
  • Rename all references to "scripts" to "Scripts", mainly in the blogengineconfig file, but also the reference to shRoot, and in the master pages.
There is an outstanding thing around the removal of the Microsoft.Web.Infrastructure.dll, as with it will work on Windows, but you have to remove it for it work on mono. If you don't, when navigating to the Admin pages, it will try and download the file instead of rendering it.

If this is something that project wants to continue, I'll see if I can package the changes, but I will need some help getting mercurial to work. Otherwise, I'll just fork and move to github.

Thanks
Martin
Coordinator
Oct 31, 2014 at 5:43 PM
You can submit changed files as a patch under "issues", no need to use Mercurial.
Jan 5, 2015 at 4:54 AM
I've been waiting for mono support to come back for a while now. Hopefully your efforts help bring that about Martin. Thank you!
May 27, 2015 at 7:49 PM
Edited May 27, 2015 at 7:50 PM
I also tried to run blogine under mono, without success. My test setup was to create a docker container based on Docker-Image and the current version of blogengine v3.1. When I open the website, the following error occurs:
System.Web.Compilation.CompilationException
CS1701: Warning as Error: Assuming assembly reference `Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' matches assembly `Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. You may need to supply runtime policy

Description: Error compiling a resource required to service this request. Review your source file and modify it to fix this error.
Details: CS1701: Warning as Error: Assuming assembly reference `Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' matches assembly `Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. You may need to supply runtime policy
Error origin: Compiler
Error source file:
Exception stack trace:
  at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath, System.CodeDom.Compiler.CompilerParameters options) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.CodeDom.Compiler.CompilerParameters options) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AppResourcesAssemblyBuilder.BuildDefaultAssembly (System.Collections.Generic.List`1 files, System.CodeDom.CodeCompileUnit unit) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AppResourcesAssemblyBuilder.Build (System.CodeDom.CodeCompileUnit unit) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AppResourcesCompiler.CompileGlobal () [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AppResourcesCompiler.Compile () [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplicationFactory.InitType (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 
Version Information: 3.12.1 (tarball Fri Mar 6 19:12:47 UTC 2015); ASP.NET Version: 4.0.30319.17020
Does anybody get blogengine running with mono? Is there actual any effort to get blogengine running with mono? The feature table is out of date i think, because it explains features of version 2.5, which official supported mono?


Thanks
Joerg