Multiple Target Platforms - ntierontime/Log4Net GitHub Wiki
The generated nTier On Time solution supports 4 platforms:
- .Net platform on computers
- Silverlight
- Windows App Store
- Windows Phones
nTier On Time are using Project Linker to share code files among projects and Pre-Processor to tell compiler to either compile or not compile a code snippet in code file to:
- Project Linker is used if a project is going to compile in other target platform.
- The primary target platform is always .Net framework on Windows
- e.g. primary project name is A.B.csproj
- The linked to target platform project name will be A.B.targetframework.csproj
- e.g. linked to project name is A.B.silverlight.csproj for Silverlight platform
- The linked to project has exactly same project structure.
- Each C# source code file is put into primary platform, then linked to other platform projects
- The primary target platform is always .Net framework on Windows
- Pre-Processor directives, such as #ifdef, are typically used to make source programs easy to change and easy to compile in different execution environments.
- 1 or several constants is/are defined in project files for linked to platform projects.
- Silverlight projects will be “SILVERLIGHT”
- Windows Phone projects will be “SILVERLIGHT;WINDOWSPHONE”
- #if directive, with the #elif, #else, and #endif are used to identify whether code snippets will be compiled in a particular target platform
- 1 or several constants is/are defined in project files for linked to platform projects.