System.Data.SQLite for different environments - sqlite

Going to .Net SQLite (System.Data.SQLite) download page, there is different editions for each .Net framework and CPU architecture (32/64). I have a WPF/NHibernate application that works on my machine fine. My machine is Windows 8 x64 with .Net 4.5. Application is in .Net 4.0 and I used SQLite x32 for .Net 4.0 in it.
Problem is when application is deployed to customer's machine. Some of them have Windows XP, some have Vista and some have Windows 7 and 8. Many of them can not load database driver and I am forced to use another System.Data.SQLite. For example a x64 or a .Net 2.0 on them. I wonder why this happens and how it can be corrected. Specially when all customers have .Net 4.0 on their machines.
Any help is appreciated.

As this page explains, System.Data.SQLite assembly binaries for the .NET Framework 2.0 should work with the .NET Framework 4.0, but the reverse is not true. So if you need backward compatibility with older versions of the framework, you should use the older 2.0 assemblies.
There are other intricacies, such as how to properly use the Mixed Mode assembly with x64, so you should read that page carefully.

Related

Can'n run the NET Framework 3.5 Service Pack 1 (Full Package) on Windows 11 with arm cpu, why?

I have a macbook M1PRO, and I need to debug .net2.0 and .net 3.5 codes in its Windows11 virtual machine, but I can't set up a code runtime environment。
I have installed .net framework 3.5 in the "enabling or disabling windows features" in the control panel, but its existence is still not recognized in visual studio.
enter image description here
enter image description here
If I don't use a simulated x64 virtual machine or another x64 computer, I just want to run all programs on one computer, how can I solve it?
If you create a x64 VM, then you have to install windows 11 (not arm based version).
then install visual studio for windows. (again, the non arm version).
At that point, you can develop with .net framework 2.0-4.8.
You can't create, run, use, enjoy, develop .net framework asp.net applications unless you running a windows VM, and using the windows version of VS.
You can ONLY run (and develop) .net core applications on arm based, or other computers, and NOT .net framework applications.
given that you looking to develop (or work on) a x64 .net framework, and quite a older version?
Then you have to create a x64 (not arm) based VM, and install the x64 bit version of windows (again, NOT the arm based version of windows). You then install Visual Studio for windows.
The above will thus allow you to develop and work on .net framework applications, such a as asp.net .net framework based application.

ASP.NET Core self-contained compatibility?

I have been playing around deploying my .NET Core application on several Operating Systems using self-contained and portable platforms.
As expected, this runs fine on Windows 8.1, Windows 10 and OSX.
I also have a 2008 Windows Server with IIS7 and this is causing a few issues. I have tried to run the self-contained executable but returns procedure entry point kernel32.dll error which apparently means that I have selected the wrong runtime in my project.json file.
Where can I get a list of compatible ASP.NET Core runtimes?
I believe portable .NET Core apps are NOT compatible with IIS7 as AspNetCoreModules requires IIS7.5, is this correct?
The article Publishing to IIS on ASP.NET Core docs says that Windows Server 2008 R2 is required.

Running ASP.NET vNExt on .net 4.0

If I have a server running on .NET Framework 4.0.
Will it be possible to run ASP.NET vNext on top of that? Or will a higher framework version be required?
As stated on Asp.NET vNext's page on GitHub the minimum requirements for Windows as follows:
Windows 7 or Windows Server 2008 R2.
.NET 4.5.1 for hosting in IIS
However, ASP.NET vNext will let you deploy different versions of the .NET Framework via NuGet packages for different apps on server as stated here. But it's not .NET Framework 4.0 anyway. So, you need the higher version.

.NET 4.0 and 4.5.1 on one server, giving issues?

Can .NET 4.0 and .NET 4.5.1 runtime be installed on one application server so that web apps targeting .NET 4.0 and web apps targeting .NET 4.5.1 will be running smoothly ?
(I heard from collegaes that 4.5.1 will break 4.0 apps after 4.5.1 is installed...)
No there is no such way as of now.(that mean what you have heard from your colleagues is quite right!) I think it is a known issue and yes 4.5.1 overwrites 4.5 so make sure you have the same version installed on your development machine and on the server. You may definitely get some more info of your problem in this MSDN blog and this MSDN
Because if you develop "Targeting .NET 4.0", then you clearly plan to
run on a machine that DOES NOT HAVE .NET 4.5!
You need to target the .Net4.0 framework to get rid of your problem

Need Oracle Client for .NET 4.0 ASP app running on a 64bit OS

I've got ASP.NET 4.0 application running on a 64bit OS. IIS is configured to run in 64bit mode (needs to be to support other ASP.NET applications). Is there any way to do this? Oracle doesn't provide a 64bit client as of this writing for .NET 4.0.
Have you looked at ODP.NET and especially the 64-bit driver?

Resources