X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Web%2FSystem.Web.Compilation%2FChangeLog;h=6ef7a0085a234a3d451e3130146777eaa43deaad;hb=3bcc352c6dc77d95738ffe11f39bf622297aa7d5;hp=8a496d38ba89f55d3815efc1f7cba8480ba05e9e;hpb=4a9ce7622a4570be8cf7520abf27082b2df59d4d;p=mono.git diff --git a/mcs/class/System.Web/System.Web.Compilation/ChangeLog b/mcs/class/System.Web/System.Web.Compilation/ChangeLog index 8a496d38ba8..6ef7a0085a2 100644 --- a/mcs/class/System.Web/System.Web.Compilation/ChangeLog +++ b/mcs/class/System.Web/System.Web.Compilation/ChangeLog @@ -1,3 +1,630 @@ +2008-03-27 Marek Habersack + + * 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 + + * BuildManager.cs: if we're running in a case-insensitive + environment, use case-insensitive comparer for the build caches. + +2008-02-29 Marek Habersack + + * 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 + + * 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 + + * 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 + + * BuildManager.cs: known file types extensions are now matched + case-insensitively. + +2008-02-25 Marek Habersack + + * 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 + + * AppSettingsExpressionBuilder.cs: Improve exception messages. Return + "raw" appsetting value if targetType is null. + +2008-02-07 Marek Habersack + + * 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 + + * 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 + + * 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 + + * 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 + + * AspGenerator.cs: correct typo. Fix #357547. + +2008-01-27 Marek Habersack + + * BuildManager.cs: GetReferencedAssemblies includes the extra + assemblies and the App_Code assemblies. Patch from Mike Morano + , thanks! + +2008-01-24 Marek Habersack + + * 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 + + * BaseCompiler.cs: Assign AppRelativeVirtualPath correctly + +2008-01-08 Marek Habersack + + * 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 + + * 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 + + * 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 + + * 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 + + * BaseCompiler.cs: check for base type globality in all the + location it is used. + +2007-12-23 Vladimir Krasnov + + * AppSettingsExpressionBuilder.cs: fixed GetAppSetting, should convert + to property type + +2007-12-21 Marek Habersack + + * 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 + + * 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 + + * TemplateControlCompiler.cs (AddExpressionAssign): + Make sure expression does not contain prefix. + + * AppSettingsExpressionBuilder.cs: Pass type of property to + GetAppSetting, not type of declaring type. + +2007-12-13 Marek Habersack + + * TemplateControlCompiler.cs, AspComponentFoundry.cs, + AssemblyBuilder.cs, AppResourcesCompiler.cs, + AppResourcesAssemblyBuilder.cs, AppCodeCompiler.cs: speed + optimization - use String.Concat instead of String.Format in some + cases. + +2007-11-22 Marek Habersack + + * PageCompiler.cs: use + pageParser.OutputCacheVaryByContentEncodings when initializing the + output cache in the 2.0 profile. + +2007-11-06 Marek Habersack + + * BuildManager.cs: properly retrieve the BuildProviderCollection + from configuration files. + +2007-11-03 Marek Habersack + + * TemplateControlCompiler.cs: do not call converters specified in + the member custom attributes if 'str' is null in + GetExpressionFromString. + +2007-10-23 Marek Habersack + + * AppResourcesAssemblyBuilder.cs: do not output preservation files + for satellite assemblies, just for the main assembly. Also, don't + add the satellite assemblies to the list of top-level assemblies. + +2007-10-17 Marek Habersack + + * PageCompiler.cs: added code to set the AsyncMode and + AsyncTimeout Page properties. + +2007-10-15 Marek Habersack + + * TemplateControlCompiler.cs, WebServiceCompiler.cs, + BuildProvider.cs, BaseCompiler.cs, CachingCompiler.cs: use + HttpApplication.LoadType instead of Type.GetType. + +2007-10-10 Marek Habersack + + * TemplateControlCompiler.cs: be careful when using type + converters taken from attributes attached to class members. They + may come from the System.Design namespace, which is mostly not + implemented on Mono. + +2007-10-01 Marek Habersack + + * AppResourcesCompiler.cs: resources are no longer compiled into a + single assembly. Instead, the common assembly construction code + has been moved to AppResourcesAssemblyBuilder to use satellite + assemblies. + + * AppResourcesAssemblyBuilder.cs: new resource assembly + construction code which takes care of outputting satellite + assemblies. + +2007-09-27 Marek Habersack + + * TemplateControlCompiler.cs: support nullable types in + GenerateExpressionFromString. + +2007-09-21 Marek Habersack + + * TemplateControlCompiler.cs: if we're running on a platform with + the directory separator character that's different to the Unix + style '/' one, convert the input file path to the virtual path + style string, with path parts separated by '/'. Patch from Robert + Jordan , thanks! Fixes bug #324229. + +2007-09-20 Marek Habersack + + * TemplateControlCompiler.cs: if a member passed to + GetExpressionFromString has a TypeConverter attribute set, try to + use the named type converter to convert the string value into the + target type. Fixes bug #325489. + +2007-09-14 Marek Habersack + + * AppResourcesCompiler.cs: use _culture and _resourceManager + instead of culture and resourceManger in the generated code, to + avoid case problems for languages that are case-insensitive. + +2007-09-10 Marek Habersack + + * TemplateControlCompiler.cs: cast the expression to the field + type whenever appropriate in GetExpressionFromString. + When generating an object instance and one of the parameters is + System.Type, return a typeof expression. + +2007-09-07 Marek Habersack + + * TemplateControlCompiler.cs: another modification to the way + TemplateInstance.Single templates are treated. The search for + parent with this attribute set stops as soon as the first + TemplateBuilder is encountered, no matter what the value of its + TemplateInstance attribute is. + +2007-09-06 Marek Habersack + + * TemplateControlCompiler.cs: ID must be assigned as soon as + possible, before any other attributes of the control are + accessed. The control code may rely on ID being set. + Extend the process of checking if a control is located within a + template with the TemplateInstance.Single attribute set, to all + the parents of the current builder. + +2007-09-05 Marek Habersack + + * ThemeDirectoryCompiler.cs: all the skin files compiled in one + batch must share the same component foundry. Under MS.NET if any + earlier .skin file registers a control prefix any later .skin + files may use it without registering. + +2007-09-04 Marek Habersack + + * TemplateControlCompiler.cs: make sure that base class doesn't + contain a field of the same name which is accessible from the + current control if we're within a singleton template. + When generating code for a property or field, use the name + retrieved from the metadata by reflection instead of the one + parsed from html. Fixes bug #82687. Patch from SunHo Kim + , thanks! + +2007-08-29 Marek Habersack + + * CachingCompiler.cs: consider contents of the + section when constructing a list of + assemblies during compilation. + + * TemplateControlCompiler.cs: mark fields corresponding to the + controls as global references. + When control tree is constructed and the parent of the current + builder is a TemplateBuilder marked with the TemplateInstance + attribute set to Single, use the control's ID as the field + name. This makes it possible to refer to controls inside templates + by name instead of by using FindControl. + +2007-08-23 Marek Habersack + + * AppCodeCompiler.cs: use HttpApplication.BinDirectoryAssemblies + and HttpApplication.LoadTypeFromBin. + + * BuildProvider.cs: use HttpApplication.BinDirectoryAssemblies in + AddAssembliesInBin. + +2007-08-21 Marek Habersack + + * BuildProvider.cs: use HttpApplication.PrivateBinPath enumerator + to look up assemblies in the binary path(s). + +2007-08-19 Juraj Skripsky + + * GlobalAsaxCompiler.cs (ProcessObjects): Make string comparison + for scope case insensitive. Fixes bug #82479. + +2007-08-14 Marek Habersack + + * TemplateControlCompiler.cs: remove dead code. + + * AssemblyBuilder.cs: include actual exception information when + reporting inability to load a compiled assembly. + + * AppCodeCompiler.cs: remove unused variables. + + * AspComponentFoundry.cs: use an ArrayList to implement LIFO for + component collections, instead of the old Queue which implemented + FIFO. Fixes situations when a control registered later for a + certain prefix would not be used in preference to a previously + registered one of the same name. + +2007-08-06 Marek Habersack + + * AspComponentFoundry.cs: properly add new foundry if the + corresponding entry in the foundries collection is a Queue. Patch + from Juraj Skripsky , thanks! Fixes bug #82285. + +2007-07-31 Marek Habersack + + * AspComponentFoundry.cs: do not overwrite previously registered + foundries when a new one is registered with the same prefix. Fixes + bug #82216 + +2007-07-18 Marek Habersack + + * TemplateControlCompiler.cs: on the 2.0 profile, GetContainerType + does not look up the Item/Items properties to determine the + container type, instead it just returns the type reported by the + builder passed to this method. This change makes the generated + code match MS.NET. Fixes bug #82119. + +2007-07-02 Marek Habersack + + * TemplateControlCompiler.cs: don't use StartWith to see if a + variable's value is a bind expression, as it erroneously renames + all calls to methods starting with the string Bind. Use a regular + expression now instead. Fixes bug #81928. + +2007-06-20 Marek Habersack + + * AppResourcesCompiler.cs: use HttpRuntime.InternalCache to keep + private entries. + * CachingCompiler.cs: as above + * AspGenerator.cs: as above + +2007-06-13 Marek Habersack + + * TemplateControlCompiler.cs: make sure control has a writable + TemplateControl property prior to assigning values to it. + +2007-06-09 Marek Habersack + + * TemplateControlCompiler.cs: TemplateControl is assigned for + controls that are placed within ContentPlaceHolder and not for the + ContentPlaceHolder itself. + No longer add the overriden version of TemplateSourceDirectory to + the generated source, all the work is now done in + Control.TemplateSourceDirectory. + + * BaseCompiler.cs: AppRelativeVirtualPath shouldn't end with a + slash, for compatibility with MS.NET + +2007-06-05 Marek Habersack + + * TemplateControlCompiler.cs: TemplateSourceDirectory in the 2.0 + profile uses the TemplateControl property instead of Parent. This + allows to return the correct path. + +2007-06-01 Marek Habersack + + * TemplateControlCompiler.cs: be case-insensitive when looking for + Bind requests. + +2007-05-29 Marek Habersack + + * ThemeDirectoryCompiler.cs: pass the skin file's + virtual path to the skin file parser as its first paramenter, and + not a physical path. + +2007-05-28 Marek Habersack + + * ResourceExpressionBuilder.cs: properly cast + GetGlobalResourceObject calls to the type of the property being + assigned to. + +2007-05-25 Marek Habersack + + * TemplateControlCompiler.cs: Changed a few incorrect + ObjectCreationExpression to the correct DelegateCreationExpression. + Fixes #81706. + +2007-05-24 Marek Habersack + + * PageCompiler.cs: added support for the PreviousPageType directive. + + * Directive.cs: as above. + +2007-05-22 Marek Habersack + + * UserControlCompiler.cs: the Profile property should be present + also in user controls. + +2007-05-15 Marek Habersack + + * ResourceExpressionBuilder.cs: added a static method to generate + a GetLocalResourceObject call which properly handles types which + cannot be converted from strings. + + * TemplateControlCompiler.cs: use code described above to generate + code for properties assigned from resources. + + * WsdlBuildProvider.cs: make the code actually work - get the + physical path of VirtualPath instead of converting it to absolute + URI path. + Do not generate source, add the code unit to assembly builder + instead. + + * XsdBuildProvider.cs: added + +2007-05-08 Marek Habersack + + * TemplateControlCompiler.cs: BuildTemplateMethod is a delegate, + so use a delegate create expression - it may make difference for + languages other than C# (e.g. VisualBasic). + +2007-05-07 Marek Habersack + + * AspGenerator.cs: if the parser's language is implicit (i.e. set + from the default configuration), the first script with the + language attribute present sets the language of the parser. + +2007-05-04 Marek Habersack + + * TemplateControlCompiler.cs: do not query the parent for + TemplateSourceDirectory if we are generating code for a Master + Page. + +2007-04-30 Marek Habersack + + * ConnectionStringsExpressionBuilder.cs: support expressions with + suffixes .ProviderName and .ConnectionString (case-insensitie) and + generate a call to GetConnectionStringProviderName in the former + case. Fixes bug #81490 + + * AppCodeCompiler.cs: support for cases when there exists a custom + profile class but there is no App_Code directory or it's + empty. Fixes bug #81489. + + * TemplateControlCompiler.cs: fix generation of code for + declarative attribute assignments of the form Font-Size="small" + (i.e. when a font size is assigned a symbolic, relative size + value). This fixes for example rendering of the 0th level of + TreeView controls. + 2007-04-27 Marek Habersack * AppCodeCompiler.cs: do not look at the number of errors, check