按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
definitions。dll reside in the current directory)。
gacutil /I definitions。dll
gacutil /I implementations2。dll
Remember to add Definitions; because Implementations2 depends on Definitions。
Failing to add Definitions will generate gacutil errors。
ORGANIZING DYNAMIC CODE
If you are going to place files in the GAC; don’t use the techniques demonstrated in this book when doing a
production release。 The techniques discussed in this book are meant for developers; and only developers。 The
techniques are shortcuts that assume you know what the dependencies are and are aware of what you are
doing。 For distribution purposes; use the Microsoft Windows Installer application to install files into the GAC。
When writing dynamic code; the idea is to separate and pletely partmentalize the development
of the ponent and the caller of the ponent。 Thus; you should not develop both pieces in the same
project。 Create separate projects and have them working with test routines。 Then; at runtime; bine the
functionalities; and everything should work (that is; if you properly tested your code)。
Using Version Numbers
Version numbers are a way of being able to control the features and robustness of an applica
tion。 In the packaged software market; the concept of the version number has nearly disappeared。
For example; consider Microsoft’s operating system versions: Windows 95; Window 98;
Windows XP; Windows 2000; Windows Vista; and so on。
…………………………………………………………Page 356……………………………………………………………
334 CH AP T E R 1 2 ■ L E A R N I N G A B OU T A PP L I CA TI O N CO N F I G U R AT IO N AN D D Y N A M I C L O AD I N G
In open source software; version numbers are used extensively and are considered very
important。 Yes; the version numbers resemble a lottery ticket; but they do follow a convention。
Understanding the convention makes it easier to select open source packages。 And more
important; applying this versioning strategy makes it simpler to understand your assemblies。
Understanding Version Numbers
Let’s say you want to download the open source program Capivara (a Java file manager and
synchronization program)。 You see the version number 0。8。3。 The version number contains
three parts:
Major number: The major number is 0 in the example。 If the software has not reached the
number 1; the version is considered a beta。 But often; a beta identifier does not mean
the version is unusable。 Changing the major version number indicates a major change
of functionality。 This means what worked in version 1 may not work with version 2。 An
example is the Apache HTTPD server project; where the 1。x and 2。x series are two different
implementations。
Minor number: The minor number is 8 in the example。 It is used to define minor function
ality changes in a piece of software。 Changing the minor number (such as 7 to 8) indicates
new features; but old functionality is supported。 A change may include bug fixes or patches。
Patch number: The path number is 3 in the example。 It is used to define a patched version
of the software that has bug fixes or other changes。 The changes do not include features;
and the functionality does not change。
When you attempt to download an open source package; you are typically confronted with
multiple versions。 For example; you might see the version numbers 4。23 and 4。29 (beta)。 Because
most people want the latest and greatest; they might be tempted to download 4。29。 But remember
that open source projects make multiple versions available。 In the example; you should down
load version 4。23; because 4。29 is a beta that may or may not work。 Version 4。23 is considered
stable and therefore usable。
The open source munity will often use the following terminology when releasing
software。
o Stable: A version that can be used in a production environment and should not crash。
o Unstable: A version that should not be used in production。 It will probably work; but
have some crashes。
o Nightly: A version with all bets off; meaning that the version may or may not work。 The
reason for using a nightly build is to monitor progress and check specific issues。 Such a
version is not intended for consumer consumption; it is intended solely for developers。
o Alpha : A version that demonstrates the concepts that will make up a future version of the
software。 However; in alpha versions; what was available one day might be gone the
next day。
…………………………………………………………Page 357……………………………………………………………
CH AP T E R 1 2 ■ L E AR N IN G AB O U T AP P L I CAT I ON CO N F IG U R AT IO N A N D D Y N A M IC L O AD IN G 335
Versioning Assemblies
assembly version numbers are different from those used for open source packages。 The
following is an example of versioning an assembly。
The attributes AssemblyVersion and AssemblyFileVersion can be added anywhere in the
assembly or application。 In Visual Basic Express; most likely the attributes are added to the file
AssemblyInfo。vb。
The versions of the file have four significant parts。 From left to right; these are major
version; minor version; build number; and revision。 The build number can represent a daily
build nu