The remainder of this chapter focuses on building and using .dll assemblies. In Object Pascal, .NET library assemblies can be developed using either the package or the library keywords.
The reason Delphi maintains two methods of assembly creation has more to do with legacy than practicality. Win32 versions of Delphi used library to create Win32 Dynamic Link Libraries and package to create Borland Packages, DLL-like modules usable only in Delphi and C++Builder. In .NET, these things both boil down to assemblies—with only slight syntactical differences separating the two.
The package syntax is preferred for creating and maintaining assemblies because package semantics most closely match those of .NET assemblies. The library ...