+2008-03-27 Marek Habersack <mhabersack@novell.com>
+
+ * BuildManager.cs: AssertVirtualPathExists now queries the
+ VirtualPathProvider for path existence if physical path check
+ fails, before throwing the 404 exception.
+
+2008-03-13 Marek Habersack <mhabersack@novell.com>
+
+ * BuildManager.cs: if we're running in a case-insensitive
+ environment, use case-insensitive comparer for the build caches.
+
+2008-02-29 Marek Habersack <mhabersack@novell.com>
+
+ * BuildManager.cs: implement a mechanism to ignore certain virtual
+ paths when batch compiling. Helps applications which may have
+ .as?x files which won't work on mono for various reasons (one such
+ sample is mojoportal).
+
+2008-02-28 Marek Habersack <mhabersack@novell.com>
+
+ * TemplateControlCompiler.cs: make sure that data-bound attribute
+ assignments properly convert the Bind expression to the Eval
+ one. Fixes bug #362039
+
+ * AspGenerator.cs: in 2.0+, aspx files which contain the Content
+ controls can contain only them, whitespace and directives. Fixes
+ bug #339747
+
+2008-02-27 Marek Habersack <mhabersack@novell.com>
+
+ * AspComponentFoundry.cs: use BuildManager.GetCompiledType in the
+ LoadType method for the 2.0 profile.
+
+ * CompilationException.cs: use a different format of ErrorMessage
+ for the 2.0+ profile.
+
+2008-02-26 Marek Habersack <mhabersack@novell.com>
+
+ * BuildManager.cs: known file types extensions are now matched
+ case-insensitively.
+
+2008-02-25 Marek Habersack <mhabersack@novell.com>
+
+ * TemplateControlCompiler.cs: GetContainerType now checks whether
+ the binding container returned from the builder implements
+ IDataItemContainer (for 2.0+ profiles) and looks for one more
+ property, Rows, if no Items property is found.
+
+2008-02-08 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * AppSettingsExpressionBuilder.cs: Improve exception messages. Return
+ "raw" appsetting value if targetType is null.
+
+2008-02-07 Marek Habersack <mhabersack@novell.com>
+
+ * CompilationException.cs: added new constructor which takes
+ CompilerResults as one of the parameters.
+ Added CompilerOutput property.
+
+ * AssemblyBuilder.cs: use the new CompilationError constructor.
+
+ * BuildManager.cs: check for virtualPath existence before
+ attempting to compile the assemblies. Fixes bug #359465
+
+2008-02-06 Marek Habersack <mhabersack@novell.com>
+
+ * GenericBuildProvider.cs: GetGeneratedType may return a type even
+ though the results are null.
+
+ * AssemblyBuilder.cs: if there are no units, no source files, no
+ resources and no embedded resources in the passed options then
+ do not attempt to compile the assembly. Fixes bug #359325
+
+ * AppResourcesAssemblyBuilder.cs, AppCodeCompiler.cs: expect that
+ BuildAssembly may return null results.
+
+ * BuildManager.cs: protect non-page builds from endless recursion
+ if a non-page file recursively references/includes another file
+ from the same batch. If such case is detected, the recursively
+ referenced file is compiled into a separate assembly and removed
+ from the previous compilation batch. Fixes bug #358742.
+ If AssemblyBuilder returns no results from BuildAssembly, it might
+ mean we're dealing with a compilation of empty .as[hm]x files,
+ with no code and only code-behind in bin/. Do not report an error
+ in that case, only add the compiled types to the cache. Fixes bug
+ #357624.
+
+2008-02-05 Marek Habersack <mhabersack@novell.com>
+
+ * BuildManager.cs: GetAbsoluteVirtualPath correctly converts
+ non-rooted relative paths to absolute ones now. Fixes bug
+ #357504.
+
+ * GenericBuildProvider.cs: introduced a new abstract method,
+ GetReferencedAssemblies, which is called on descendant builders to
+ get a list of assemblies referenced by the parsed file. Fixes bug
+ #357499.
+
+ * AssemblyBuilder.cs: added a new overload of the
+ AddAssemblyReference method, to be used by build providers to
+ register assemblies collected by the corresponding parser.
+
+ * TemplateBuildProvider.cs, SimpleBuildProvider.cs: implemented
+ overload of the new abstract method GetReferencedAssemblies.
+
+ * AspGenerator.cs: introduced a new overload for the Parse method
+ which accepts a bool indicating whether or not to initialize the
+ parser. The overload is used when parsing server-side
+ includes. Fixes bug #357498
+
+2008-02-04 Marek Habersack <mhabersack@novell.com>
+
+ * AssemblyBuilder.cs: do not use WebEncoding.FileEncoding when
+ generating source code files. Fixes bug #357053.
+
+ * AspGenerator.cs: set isApplication before parsing. Fixes bug
+ #357036.
+
+2008-01-31 Jb Evain <jbevain@novell.com>
+
+ * AspGenerator.cs: correct typo. Fix #357547.
+
+2008-01-27 Marek Habersack <mhabersack@novell.com>
+
+ * BuildManager.cs: GetReferencedAssemblies includes the extra
+ assemblies and the App_Code assemblies. Patch from Mike Morano
+ <mmorano@mikeandwan.us>, thanks!
+
+2008-01-24 Marek Habersack <mhabersack@novell.com>
+
+ * WebHandlerBuildProvider.cs: derive from the new
+ SimpleBuildProvider class.
+
+ * BuildManager.cs: full implementation of the batch compilation
+ for the 2.0 profile. The implementation is most probably different
+ to MS.NET's but the effects are the same (or nearly the same -
+ there are some minor differences). There are missing bits and
+ pieces, but minor ones - to be added later.
+
+ * SimpleBuildProvider.cs: new build provider abstract class
+ deriving from the GenericBuildProvider that implements common code
+ for building web handlers and web services.
+
+ * GenericBuildProvider.cs: new generic abstract class used to
+ implement base builder code for all the build provider types and
+ maximize code reuse.
+
+ * PageBuildProvider.cs: derive from the new TemplateBuildProvider
+ class and implement all the necessary abstract members.
+ Handle "fake" virtual paths, to properly support generating of the
+ WSDL helper code.
+
+ * BuildProvider.cs: SetVirtualPath now converts the passed path to
+ absolute URL.
+ Added internal virtual method GenerateCode, used by derived
+ classes.
+ SetCommonParameters no longer sets the referenced assemblies, this
+ is done in BuildManager now.
+ Added an internal virtual property CodeUnit which returns the
+ build provider's compilation unit.
+
+ * PageCompiler.cs: fix assignment of base types for asynchronous
+ pages, to match MS.NET.
+ For asynchronous pages, add the necessary methods generation.
+
+ * BaseCompiler.cs: default namespace is now set using a constant.
+ Renamed the Init method into ConstructType, to better reflect its
+ purpose and made the method internal - it is used by the build
+ providers.
+ Added several CreateProvider overloads for easier and more unified
+ compilation provider creation.
+ Added an internal MainClassType property to enable class type name
+ retrieval from other parts of the class hierarchy.
+
+ * ApplicationFileBuildProvider.cs: new build provider deriving
+ from the TemplateBuildProvider class to compile the global.asax
+ file.
+
+ * AspGenerator.cs: properly handle parsers which have no input
+ file path given, but use TextReader instead.
+ Dependencies are virtual paths now, convert them to physical ones
+ before creating cache dependency.
+
+ * CachingCompiler.cs: parser dependencies are virtual paths now,
+ convert them to physical ones before creating cache dependency.
+
+ * AssemblyBuilder.cs: full implementation of the documented
+ functionality as well as a lot of internal build code
+ added. Produces assemblies using the same style what MS.NET for
+ temporary and target file naming. Handles partial type squashing
+ if the same partial type is used by several code compile units
+ added to the same builder instance.
+
+ * MasterPageBuildProvider.cs: use the new TemplateBuildProvider
+ base class and add implementation of all the abstract methods
+ required by it.
+
+ * ThemeDirectoryBuildProvider.cs: new build provider to compile
+ theme directories. Replaces the old ThemeDirectoryCompiler class.
+
+ * UserControlBuildProvider.cs: use the new TemplateBuildProvider
+ base class and add implementation of all the abstract methods
+ required by it.
+
+ * TemplateBuildProvider.cs: new internal abstract class which
+ implements the common tasks for all the template control build
+ providers.
+
+ * WebServiceBuildProvider.cs: use the new SimpleBuildProvider base
+ type to implement building.
+
+2008-01-17 Igor Zelmanovich <igorz@mainsoft.com>
+
+ * BaseCompiler.cs: Assign AppRelativeVirtualPath correctly
+
+2008-01-08 Marek Habersack <mhabersack@novell.com>
+
+ * TemplateControlCompiler.cs: statements to assign
+ fields/properties from resources must be processed at the very end
+ of the control creation method. Some controls (like HyperLink) can
+ set their Text attribute using literal content. In such cases, in
+ order to properly localize the control, the value read from the
+ local page resources must be assigned after the literal value has
+ been added to the control. Fixes bug #323494
+
+2008-01-07 Marek Habersack <mhabersack@novell.com>
+
+ * CachingCompiler.cs: added an overload to the Compile method
+ which accepts a flag whether or not to include debug information
+ in the generated assembly.
+
+2008-01-02 Marek Habersack <mhabersack@novell.com>
+
+ * TemplateControlCompiler.cs: add line pragma wherever necessary.
+
+ * PageCompiler.cs: reorder the statements to match MS.NET output.
+ Output line pragma information for directive attributes.
+
+ * BaseCompiler.cs: add a set of AddLinePragma methods for various
+ CodeDOM elements.
+ Output line pragmas when adding server-side scripts to the CodeDOM
+ tree.
+
+ * AspGenerator.cs: use ServerSideScript to store script location
+ in the original file.
+
+ * UserControlCompiler.cs: output line pragmas for the init
+ method.
+
+2007-12-28 Marek Habersack <mhabersack@novell.com>
+
+ * PageCompiler.cs: MS.NET compatibility: added the
+ __fileDependencies object to the generated class.
+ Refactored the output to match MS.NET more closely.
+ IHttpHandler or IHttpAsyncHandler are now added to the generated
+ class list of implemented interfaces.
+
+ * BaseCompiler.cs: Main class field references are prefixed with
+ 'global::' now.
+ Refactored the output to match MS.NET more closely.
+
+2007-12-27 Marek Habersack <mhabersack@novell.com>
+
+ * BaseCompiler.cs: check for base type globality in all the
+ location it is used.
+
+2007-12-23 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * AppSettingsExpressionBuilder.cs: fixed GetAppSetting, should convert
+ to property type
+
+2007-12-21 Marek Habersack <mhabersack@novell.com>
+
+ * BaseCompiler.cs: Refactoring. Move the provider creation code to
+ an internal static method, so that other piece of code which need
+ to create the provider can do it using the same code.
+ Added setters to several internal properties, so that they can be
+ shared with derivative classes.
+
+ * WebServiceCompiler.cs: adjust to the changes above. Fixes bug
+ #350398.
+
+ * CachingCompiler.cs: adjust to the changes above. Also some
+ refactoring.
+
+2007-12-15 Marek Habersack <mhabersack@novell.com>
+
+ * AppCodeCompiler.cs: do not instantiate CodeDomProvider twice.
+
+ * BaseCompiler.cs: do not use CreateCompiler () in the 2.0
+ profile, it's obsoleted. CachingCompiler will use the
+ CodeDomProvider methods directly in that case.
+
+ * WebServiceCompiler.cs: Updated GetCompiledType to acquire
+ compiler information for the 2.0 profile from system.codeDom.
+
+ * CachingCompiler.cs: the Compile overloads do not use the
+ compiler instance, but call appropriate methods on the
+ CodeDomProvider instance directly.
+ Updated some Compile overloads to acquire compiler information for
+ the 2.0 profile from system.codeDom.
+
2007-12-14 Juraj Skripsky <js@hotfeet.ch>
* TemplateControlCompiler.cs (AddExpressionAssign):