NuGet's IProjectSystem.IsSupportedFile now returns false for web.config files when the project is not a web project.
It returns false for app.config files when the project is a web project.
Extend the text templating addin to allow addins to define their own service providers.
Package management addin defines a service provider that can be used in a T4 template to create EnvDTE types such as DTE.
Move EnvDTE API to separate assembly.
Create EnvDTE interfaces in VB.NET to allow COM parameterised properties to be implemented to match Visual Studio's API.
Rename EnvDTE namespace from ICSharpCode.PackageManagement.EnvDTE to EnvDTE
Use WebViewPage<dynamic> as Razor view's base class.
Add default namespaces for the Razor view class so extension methods show in completion:
System.Web.Mvc,
System.Web.Mvc.Ajax,
System.Web.Mvc.Html,
System.Web.Routing
The Razor view's base class and namespaces should be taken from the web.config but are currently hard coded.
Files added (e.g. T4MVC.tt) when installing a NuGet package were not getting a default CustomTool configured.
Now the CustomToolsService.GetCompatibleCustomToolNames() is used to find the first matching custom tool name for a file.
Switching to the WiX dialog designer and back again was causing <Control Type="Icon" /> elements to be removed.
The WiX dialog designer now recognises control's with a type of Icon.
The EnvDTE.CodeFunction.CanOverride property setter can be used to add a virtual keyword to the method definition.
The T4MVC template makes all controller methods virtual so it can override them in another generated class.
The EnvDTE.CodeClass2.ClassKind property setter can be used to add a partial keyword to the class definition.
The T4MVC template makes all controller classes partial so it can add extend the original class with an associated partial controller class that it generates.
The T4MVC template uses EnvDTE.ProjectItems.AddFromFile() to add its generated files as dependent files.
If the project items belong to a file then the DependentUpon property is set in the MSBuild project.
When find in files matches text in a .txt file then EditorControlService.Instance.CreateHighlighter() returns null since .txt files have no syntax highlighting.
Throw exception when unknown item requested from EnvDTE.ProjectItems.Item() instead of returning null.
The T4MVC template relies on this behaviour when looking for folders that do not exist.
Convert project items generated by yield return to a list before allowing them to be used in a different app domain. The class generated by using the yield keyword is not serialisable.