How do I get past "Gecko engine crashed.;Gecko engine crashed.;Gecko engine crashed.;" error after upgrading abcPDF - gecko

I recently upgraded abcPDF from v8.1.0.7 to v8.1.1.1 (and then later from v8.1.1.1 to v8.1.1.2). After the upgrades, I got errors similar to the following whenever I tried to generate a PDF:
"Gecko engine failed to render the page: Gecko engine crashed.; Gecko
engine crashed...;"
"Failed to add HTML:Gecko engine crashed.; Gecko
engine crashed.; Gecko engine crashed..."
We're using the Gecko engine (instead of the default MSHTML engine) to render PDFs. We didn't get the error message until immediately after we upgraded abcPDF. This is in a .Net Framework 4.0 / C# / ASP.Net web application, hosted on 64-bit Windows Server 2008 R2.
How do I get past this error?

Here's how I solved the problem (in case anyone out there has the same issue): I had originally installed the newer version of abcPDF without uninstalling the old version, first. To get past the error, here's what I did:
Uninstalled all versions of abcPDF from the server;
Confirmed that the GAC (c:\windows\assembly) did not contain any copies of abcPDF assemblies
Reinstalled the latest version of abcPDF (8.1.1.2, at time of writing)
Confirmed that all web.config files referenced the 8.1.1.2 version of the abcPDF assembly.
Once I did all of the above, I was able to render PDFs without errors once again.

Related

Upgraded ASP.NET and .NET Core runtime from 3.1 to 6.0.8 but application installer still detects old runtime

I need to upgrade an application in a Windows Server 2016 machine, and in order to do so they require ASP.NET Core runtime to be v3.1.1 or higher. I have installed v6.0.8, but when running the application installer it seems to still be detecting the old version and therefore can't run the update. I checked the new version is installed using "dotnet --list-runtimes" and it shows OK. I have also checked the registry, and confirmed the new version is there. I have restarted IIS as well. But so far nothing. What could I possibly be missing? I don't have control over the application code, so I can't access the runtime json file to modify version used as I have seen in some solutions.
Any help, appreciated. Thanks.

HTTP Error 502.5 - Process Failure in .Net core 1.1

It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '1.1.2' was not found.
Check application dependencies and target a framework version installed at:
Alternatively, install the framework version '1.1.2'.
I installed Windows (Server Hosting) installer and Runtime Installer 64-bit but still facing this issue
I tired all possible solutions but nothing is working for me
please help me!
Thank You
Try running your website from the command line with command below:
dotnet YourWebApp.dll
This way you'll be able to see any errors which may be preventing your website from starting. You can then follow the erros shown and look for their specific fixes.

ReactJs.NET and server side rendering with V8 throws exception in production

I am using ReactJs.NET in a ASP.NET MVC 4 project. I have disabled the fallback to MSIE javascript engine by specifying this in my ReactConfig.cs that is called on app start:
ReactSiteConfiguration.Configuration.SetAllowMsieEngine(false);
This works on my developer machine but not in production. The exception that is thrown is:
Failed to initialise ClearScript V8. This is most likely caused by the native libraries (ClearScriptV8-64.dll and v8-x64.dll) missing from your app's Bin directory, or the Visual C++ runtime not being installed
I have ensured that the ClearScript.V8 folder (with ClearScriptV8-64.dll and v8-x64.dll) is copied across to the production server and the bin folder so I am currently looking at whether the Visual C++ runtime is missing or not. I downloaded and installed the Visual C++ Redistributable for Visual Studio 2015 located here: https://www.microsoft.com/en-us/download/details.aspx?id=48145 but the same exception is thrown.
Is there something obvious I am missing here? Is it the wrong Visual C++ runtime that I have installed?
Are those DLL files in a ClearScript.V8 folder? They need to be at bin\ClearScript.V8\ClearScriptV8-64.dll for example.
Alternatively, you can try out the release candidate of ReactJS.NET 3.0, which uses a newer version of JavaScriptEngineSwitcher that changes how V8 is loaded and no longer requires the DLL files to be manually copied over. There's currently no documentation on ReactJS.NET 3.0 but it's pretty similar to the current 2.x version. I'll be working on the documentation for the final release soon.
In my case I managed to resolve this by installing the Visual C++ 2013 runtime, this was the only version that actually worked in this case. I had no luck with neither 2012 or 2015.
I found the answer here:
https://github.com/reactjs/React.NET/issues/80
and the comment that helped me was:
Just another note, ClearScript 5.4.4 readme says VS2015 or 2013 C++
runtimes will work, but in my experience, it only worked when 2013's
was present.

ABCpdf 64-bit core engine version 10105 is older than ABCpdf .NET version 10.1.0.7

I am using ABCpdf.net to merge few pdf files. but I am getting below error while creating object of Doc class...
ABCpdf 64-bit core engine version 10105 is older than ABCpdf .NET version 10.1.0.7.
There is no other error information available in exception snapshot. Code which is throwing error...
Doc mergedPdf = new Doc();
I am using ABCPdf.net version 10.1.0.5 and have no reference of ABCpdf.net version 10.1.0.7.
How to resolve this?
Sorry for the trouble. I found the cause. Previously my solution was using 10.1.0.7 version that was downgraded to old version 10.1.0.5 due to some business requirements. ABCpdf.net version 10.1.0.7 binaries were copied to bin/debug folder and forcing this exception to be thrown.
Somehow cleaning up solution was not helping.
Solution: deleted bin/debug folder and rebuild the entire solution fixed the issue.
thanks...
The .dll version in production machine and the .dll version in developing machine is different; reinstalling .dll will fix the problem.

'Forms' is not a member of 'Windows'

I tried to change the Target Framework on my app recently from .NET Framework 4.5 to 4.5.2, but if I do I get the following error when trying to build: "'Forms' is not a member of 'Windows'" (that is, System.Windows.Forms). Changing to 4.5.1 works normally. I'm using Visual Studio 2013 Ultimate.
I had this error when changing to 4.5.2.
In my case the error was related to a MessageBox ... I replaced: "Windows.Forms.DialogResult.Yes" (which caused the same error message) with "System.Windows.Forms.DialogResult.Yes" which did the trick.
I had the same problem, me too with Windows.Forms.DialogResult enumeration values.
The project automatically imports System and System.Windows.Forms namespaces and worked fine up to 4.5.1.
In 4.5.2 I had to remove Windows.Forms. and just leave DialogResult.Ok (or whatever else) in my code, it seems to be a problem with namespaces resolution.
Make sure that you add System in front of the Windows.Form.
I ran into this with an application still targeted to .NET 4.0, where it failed on one (new) build server, but ran on my older ones.
I narrowed it down to the .NET 4.0 Targeting Pack only being installed on the old build servers. Targeting pack is included in Visual Studio, or the Windows 7.1 SDK. It is for some reason not distributed separately, and with support ending for .NET 4, 4.5 and 4.5.1, I don't suspect this is likely to change. Because my older servers have been around a couple years, they've gone through in-place upgrades and so had the targeting pack already.
When you install Windows 7.1 SDK on Server 2012R2, it complains something to the effect of "A pre-release version of .NET 4 is installed, please install the RTM version". As far as I can tell, it's simply because a newer version) is installed -- Server 2012R2 comes with 4.5.1. I tried to uninstall all newer versions, but was unable to get the SDK to install the targeting pack.
So to install:
Download the Windows 7.1 SDK ISO image
Unzip it
Run Setup\MTPack\netfx_dtp.msi EXTUI=1
You should now have a %programfiles(x86)%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\ folder with the 4.0 stuff.
(EXTUI=1 bypasses the restriction that it can't be installed separately).
This allowed me to compile projects still targeting 4.0 (or re-build old revisions/branches that were targeting it at the time).