RemObjects Oxygene for .NET - Version 7.0.71 (Build.1477)

Oxygene lets you create applications and projects for all of today's major platforms – with one IDE and one great programming language. Oxygene is built on the foundation of Object Pascal, revamped and extended to be a modern language for the twenty-first century.

.NETElements can build applications for the Common Language Runtime (CLR). Most prominently this includes the Microsoft .NET Framework, but also extends to .NET Core, Universal Windows Apps (the new API layer for Windows 8, Windows 10 and Windows RT applications), Windows Phone, Silverlight and the open-source Mono framework, which brings the CLR to Mac OS X, Linux and a range of other operating systems.

The CLR is designed to be language independent, making Oxygene, RemObjects C#, and Swift, Java and Go first degree citizens next to Microsoft's Visual C# and Visual Basic.NET languages. In fact, Oxygene is the most prominent and most widely used non-Microsoft language available for .NET.

Framework and TechnologiesOn top of .NET and the CLR, a wide variety of technologies are available for building great applications. .NET comes with an extensive Framework Class Library (FCL) of over 10,000 classes and types that are instantly usable from Oxygene and RemObjects C#, not to mention a wide range of open source and commercial third party libraries that are available and work seamlessly with any CLR language, including Oxygene and RemObjects C#. (RemObjects Software even provides a few of its own, such as Data Abstract.)

Depending on your target platform, the CLR provides a choice of GUI frameworks for creating powerful native applications, including WPF and WinForms for Windows Desktop apps, XAML for WinRT/Metro and Windows Phone apps, and XAML/Silverlight for creating plugin-based web apps. Oxygene supports all of these frameworks and their toolchains natively and out of the box.

On top of that, the .NET Framework also contains classes for just about any business need, from internet communication to working with XML files, from database access to encryption, and so on.

.NET Framework Class LibraryThe Framework Class Library (FCL) is the standard set of types required to run .NET applications and is included with the .NET framework.

These types are spread over several assemblies and in different namespaces. The most important namespace is the System namespace, which contains the classes for base types like Int32, Int64, Double, String and Char. The System.Collections and System.Collections.Generic namespaces contain structures like lists and dictionaries, which are essential for application development.

Other namespaces include the System.IO for reading and writing to files and other streams, System.Net for socket support or System.Reflection for reading and generating assemblies on the fly.

DeploymentThis section collects information about deploying applications created with the .NET edition of Elements, in various scenarios.

Deploying ASP.NET WebsitesThere are essentially two options for deploying ASP.NET websites created with Oxygene or Swift to a server: Installing the Elements compiler on the server, or deploying the website as pre-compiled .dll(s).

Installing Elements On the ServerIf you simply upload your website to the server and try to access it, you will most likely be greeted by an error message stating that "'Oxygene' is not a supported language" or "'Silver' is not a supported language".

This is somewhat expected, as a copy of the Elements compiler is required on the server in order to compile the .pas or .swift files and the snippets inside your .aspx files, as needed. There are two ways to achieve this:

Running the Elements Compiler SetupIf your ISP gives you the ability to run and install custom software, the easiest and quickest way to get Oxygene installed is to use the Oxygene installer and uncheck all options. This will install all the binaries required to use Oxygene or Swift with ASP.NET, and it will register the Elements compiler with the global machine.config file so that ASP.NET can find it.

Deploying the Elements Compiler as Part of Your WebsiteAlternatively, you can also upload the Elements compiler to your web space as part of your website. This comes in handy when using an ISP that does not let you run custom installers, for example when using a shared server. This method of deployment can also be helpful if you want to use different versions of the compiler for different websites on the same server (for example to test a new version of your site, which might leverage newer features, without affecting other sites on the same server).

You can even combine the two deployment methods — install a global copy of the compiler using the command line installer, which will be used by default, and configure individual websites to use a different version, deployed as part of the individual site.

There are two simple steps involved in deploying the Elements compiler as part of your website:

One, deploy the following .dll files (which can be found in the .\Bin folder of your local Elements install) to the ./Bin folder of your .ASP.NET web site:

RemObjects.Oxygene.dllRemObjects.Oxygene.AspAppDomainHelper.dllRemObjects.Oxygene.Code.dllRemObjects.Oxygene.Echoes.dllRemObjects.Oxygene.Tools.dllRemObjects.Elements.Cirrus.dllEchoes.dll — Only on .NET 4.0, and only required if you use types.

Further ReadingThe Further Reading section collects topics on various concepts and technologies that are relevant to the .NET platform, but beyond the scope of being covered exhaustively on this documentation site, because they are not specific enough to Elements.

The topics are provided because other pages on this site refer to them, and generally, the topics will provide a short summary or overview of the concept or technology, and then provide pointers to external places that explore the matter in more detail.