This keeps the working set of the application from
growing unnecessarily large. When designing applications, it makes sense to segregate less
commonly used features into separate assemblies so that they are only loaded when needed.
Any time you can trim the working set of the application, you speed start-up time as well as
shrink the memory footprint of the running application.
Private Assemblies
In the case of HelloWorld.exe, the assembly is deployed as a private assembly. Private assemblies
must be located in its application directory or in a subdirectory of the application
directory. In the assembly manifest, only the name and version are necessary for a private
assembly. The following snippet shows the abbreviated manifest entry for the Hello World!
assembly:
.assembly /*20000001*/ HelloWorld
{
. . .
.hash algorithm 0x00008004
.ver 1:0:0:0
}
Notice that, in comparison to the external assemblies (which are shared), there??™s no
publickeytoken designation, and the version number is 1.0.0.0. These entries aren??™t needed
because the assembly is private, and the CLR doesn??™t need to use the version number to
resolve the location of the assembly; it assumes it??™s in the current application directory
structure. To deploy a private assembly, all you need to do is copy all the files into a directory.
Pages:
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179