Apama 10.15.0 | Release Notes | What's New in Apama 5.2 | Windows compiler and .NET version updates in 5.2
 
Windows compiler and .NET version updates in 5.2
Apama 5.2 has upgraded from Microsoft Visual Studio 2008 (Visual C++ v9) to Visual Studio 2013 Update 2 (Visual C++ v12). Consequently, you must rebuild the following components with the new compiler:
*C and C++ correlator plug-ins
*C and C++ IAF transport/codec plug-ins
*C and C++ code that uses the engine client API
For .NET clients, Apama now supports .NET 4.5.1 instead of 2.0. It is no longer possible to build .NET 2.0 or 3.5 clients with the Apama libraries.
In addition, you should consider the following:
*Visual Studio 2013 uses a different format for its C++ project files, which now have the .vcxproj extension rather than .vcproj. Visual Studio's migration wizard can usually convert the project files automatically. Alternatively, it is simple to create new projects in Visual Studio 2013 (from scratch or based on Apama samples) and re-add existing source files and project customization to them. Creating new projects might result in cleaner configuration files.
*The Apama C and C++ API samples all have new Visual Studio 2013 project files. Some non-standard preprocessor macro definitions that were present in older versions of the samples have been removed, for example, _APBUILD_WIN32_ALL_ and _AMD64_. The samples now consistently use Visual Studio's standard macros instead (_WIN32 and_M_AMD64). If you are incorporating existing code that depends on the old macros you might want to re-add the old macros to your project properties. To do this, in the Visual Studio, select your project and then select C/C++ > Preprocessor > Preprocessor Definitions.
*When planning migration, consider that the C++ compiler in Visual Studio 2013 is considerably more modern than the 2008 version, and also less tolerant of ambiguous and potentially unsafe code patterns. It is likely that some time may be required to fix compiler errors after moving to the new version. The recommendation is to enable 'warnings as errors' in your projects where possible. This encourages good coding patterns and catches errors earlier in the development process. In particular, it helps you catch errors that might cause subtle, difficult to diagnose errors.
*.NET code that uses the engine client API may need to be rebuilt. The .csproj project files will need to be upgraded if you are using the new compiler.