12 Compile Units, Projects and Solutions

12.1 Compile Units

12.1.1 Syntax

compile‑unit namespace‑content
namespace‑content using‑directives definitions
using‑directives using‑directive*
using‑directive using‑alias‑directive | using‑namespace‑directive
using‑alias‑directive using identifier = qualified‑id ;
using‑namespace‑directive using qualified‑id ;
definitions definition*
definition namespace‑definition | function‑definition | class‑definition | interface‑definition | enum‑type‑definition | constant‑definition | delegate‑definition | class‑delegate‑definition |
namespace‑definition namespace qualified‑id { namespace‑content }
function‑definition function
class‑definition class
interface‑definition interface
enum‑type‑definition enumerated‑type
constant‑definition constant
delegate‑definition delegate
class‑delegate‑definition class‑delegate

12.2 Projects

12.2.1 Syntax

project project project‑name ;
project‑declaration*
project‑name id‑char‑sequence ( . id‑char‑sequence )*
project‑declaration reference‑declaration | source‑file‑declaration | target‑declaration
reference‑declaration reference file‑path ;
source‑file‑declaration source file‑path ;
target‑declaration target = (program | library) ;
file‑path < [^ >]+ >

12.3 Solutions

12.3.1 Syntax

solution solution solution‑name ;
solution‑declaration*
solution‑name id‑char‑sequence ( . id‑char‑sequence )*
solution‑declaration solution‑project‑declaration
solution‑project‑declaration project file‑path ;