This project is read-only.

T4MVC change history

Go to the main T4MVC page to download it

2.6.12 (01-15-2010):

  • Fixed issue where some special project types (e.g. DB projects) were throwing while enumerating over the list
  • Changed to use GeneratedCode attribute instead of the less correct CompilerGenerated
  • Fixed CompilerGenerated/DebuggerNonUserCode attributes so they don't incorrectly affect the control classes
  • Change to avoid adding area to route if the app is not using areas

2.6.11 (01-10-2010):

  • Added ExcludedStaticFileExtensions setting to T4MVC.settings.t4 to list extensions for which static links should not be generated.
  • Support configurable name for IT4MVCActionResult, and it being defined externally (for sharing pourpose)
  • Added DebuggerNonUserCode attribute to generated classes
  • Improved error handling when trying to call T4MVC method with real ActionResult (previous threw InvalidCast)
  • Fix issue when overridden action methods were incorrectly marked as virtual

2.6.10 (01-04-2010):

  • Added support for adding arbitrary route parameters to T4MVC actions. e.g.
    • MVC.Home.About().AddRouteValue("fooKey", bar.Foo.Key)
    • MVC.Home.About().AddRouteValues(new {fooKey = bar.Foo.Key, barKey = bar.Key})
  • Added shorter to refer to controller actions from with the controller itself. e.g.
    • return RedirectToAction(MVC.MyController.Actions.About()); BECOMES:
    • return RedirectToAction(Actions.About());
  • What was previously called Actions was renamed to ActionNames (note, that's a BREAKING CHANGE if you used Actions before!)
  • Ignore controller methods that are marked with a NonAction attribute
  • Renamed IT4MVCActionResult.RouteValues to avoid conflict (this should not break anything, as it's only used internally)

2.6.03 (12-10-2009):

  • Generate full view paths to allow cross controller references
    • e.g. MVC.Dinners.Views.DinnerForm is now "~/Views/Dinners/DinnerForm.ascx" instead of just "DinnerForm"
  • Fix compile error when a view name is a language keyword (e.g. string.ascx)

2.6.02 (12-04-2009)

  • Added way to get area name from both Area and Controller objects
    • e.g. MVC.MyArea.Name and MVC.MyArea.MyController.Area
  • Added support for controllers in the default namespace (i.e. no namespace)
  • Always include the area in the route data, even when it's null/empty

2.6.01 (12-02-2009)

  • Fix compile error when a custom ActionResult type has a ctor that takes a value type

2.6.00 (11-28-2009)

  • Added support for MVC 2 Areas
  • Fixed issue where non-existing RenderAction method gets generated on VS2010 Beta 2
  • Added check to give proper error when attempting to run T4MVC outside VS (e.g. from TextTransform.exe)

2.5.02 (11-24-2009)

  • Change links in comment to point to new T4MVC home and forum
  • Fix scenario where a View folder as a name that's a C# keyword

2.5.01 (11-20-2009)

  • Added support for Html.RenderAction and Html.Action (see
  • Fix null ref exception issue when custom ActionResult type doesn't have any explicit ctors

2.5.00 (11-16-2009)

  • Incorporated Damien Guard's multiple output manager to (optionally) split output from T4MVC into separate files to improve source control
  • Added support for minified javascript files in production
  • Fixed bug occurring when no action is of type ActionResult

2.4.04 (10-15-2009)

  • Added support for MVC 2 by detecting the version and generating slightly different code

2.4.03 (10-02-2009)

  • Added ProcessVirtualPath method to T4MVC.settings.t4 so user can write custom logic to modify client URL's
  • Greatly simplified GetProjectContainingT4File logic by using FindProjectItem().
  • Renamed generated classes to be CLS compliant
  • Moved most of the doc and versioning comments from into the readme.txt file, as it was getting a bit long.

2.4.02 (09-02-2009)

  • Added a setting in T4MVC.settings.t4 to set the namespace that Links get generated in
  • Added pragma to prevent compiler from complaining about missing Xml comments
  • Added <auto-generated /> comment to disable StyleCop in generated file
  • Fixed issue when using a custom ResultType in a custom namespace. Now fully qualifying result types.

2.4.01 (07-29-2009):

  • Put all the generated code in a T4MVC #region. This is useful to tell tools like ReSharper to ignore it.
  • Fixed issue where controller methods returning generic types cause template to blow up
  • Added a setting in T4MVC.settings.t4 to turn off the behavior that always keeps the template dirty

2.4.00 (07-28-2009):

  • Added support for configurable settings in a separate T4MVC.settings.t4 file
  • Added a parameter-less pseudo-action for every action that doesn't already have a parameter-less overload
  • Added support for having in a sub folder instead of always at the root of the project
  • Fixed issue when a base controller doesn't have a default ctor
  • Added T4Extensions into System.Web.Mvc namespace to fix ambiguous resolution issue
  • Misc cleanup

2.3.01 (07-10-2009):

  • Fixed issue with ActionName attribute set to non literal string values (e.g. ActionName(SomeConst + "Abc"))
  • Fixed duplication issue when partial controller classes have a base type which contains action methods
  • Skip App_LocalResources when processing views
  • Cleaned up rendering logic

2.3.00 (07-07-2009):

  • Added support for sub view folders
  • Added support for ActionName attribute
  • Improved handling when the controller comes from a different project
  • Don't try to process generic controller classes

2.2.03 (07-06-2009):

  • Added support for action methods defined on controller base classes
  • Improved error handling when not able to change actions to virtual and controllers to partial

2.2.02 (07-01-2009):

  • Fixed break caused by incorrect support for derived ActionResult types in 2.2.01
  • Fixed issue with duplicate view tokens getting generated when you have both foo.aspx and foo.ascx

2.2.01 (07-01-2009):

  • Added support for action methods that return a type derived from ActionResult (as opposed to exactly an ActionResult)
  • Fixed issue when controller is using partial classes
  • Fixed folder handling logic to deal with generated files
  • Fixed issue with folder names that are C# keyword
  • Throw NotSupportedException instead of NotImplementedException to avoid being viewed as a TODO

2.2.00 (06-30-2009):

  • Added strongly typed support to MapRoute
  • Changed constructor generation to avoid confusing IoC containers
  • Fixed issue with empty Content folder
  • Fixed issue with abstract controller base classes

2.1.00 (06-29-2009):

  • Added Html.BeginForm overloads that use the strongly typed pattern
  • Added Url() helpers on static resources to increase flexibility
  • Changed generated constants (view and action names, static files) to be readonly strings
  • Fixed null ref exception in Solution Folder logic

2.0.04 (06-28-2009):

  • Fixed issue with files and folders with names starting with a digit

2.0.03 (06-27-2009):

  • Rework code element enumeration logic to work around a VS2010 issue. The template should now work with VS2010 beta 1!
  • Reduced some redundancy in the generated code

2.0.02 (06-27-2009):

  • Added ActionLink overloads that take object instead of dictionary (from both Html and Ajax)

2.0.01 (06-26-2009):

  • Fixed issue with files and folders with invalid identifier characters (e.g. spaces, '-', '.')

2.0.00 (06-26-2009):

  • Added support for refactoring in Action methods
  • The T4 file automatically runs whenever you build, instead of being done manually
  • Support for strongly typed links to static resources
  • Fix: supports controllers that are in sub-folders of the Controllers folder and not directly in there
  • Fix: works better with nested solution folder
  • Random other small fixes

1.0.xx (06-17-2009):

Last edited Jan 16, 2010 at 7:27 AM by davidebb, version 8


No comments yet.