NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

Assemblies

An assembly is the functional unit of sharing and reuse in the NGWS runtime. It is a reusable, versionable, and self-describing building block of an NGWS application. An assembly forms the boundary for security, class deployment, and type resolution. The assembly is also the smallest unit that can be versioned. An NGWS application consists of one or more assemblies.

In designing your source code today, you make explicit decisions about how to partition the functionality of your application into one or more files. In designing NGWS code, you'll make similar decisions about how to partition the functionality into one or more assemblies. An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality, a “logical” dll.

In physical terms, an assembly is a collection of physical files that are owned by the assembly. These physical files can include NGWS types (interfaces and classes) as well as resources for the assembly (bitmaps, JPEG files, resource files, etc.). Also included in every assembly is a collection of metadata that describes how the elements in an assembly relate. This metadata is contained in a manifest.

An assembly manifest contains all the metadata needed to specify the version requirements, security identity, and all information needed to define the scope of the assembly and resolve references to resources and classes.

The same development tools you have always used to create DLLs or EXEs are used to create assemblies. You can also use additional tools provided in the NGWS SDK to create assemblies from modules you created from other development environments.

Note: An assembly does not form a physical entity but a logical one. Files are linked together through the manifest and are treated by the runtime as a unit. The files themselves are not physically linked.

For more information on assemblies, see The Minimum You Need to Know About Assemblies.