Fixes 'No migrations configuration type was found in the assembly' error when enabling migrations.
EntityFramework's Enable-Migrations cmdlet builds the project and then checks the generated
assembly for the configurations class that it added.
Enable-Migrations now works.
Workaround is to have the DTE class implement the System.IServiceProvider interface which is not
actually implemented by Visual Studio's EnvDTE.DTE class.
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
This fixes "System.InvalidOperationException: Unable to set active document" in AvalonDock.DockingManager.CoerceActiveDocumentValue.
(or at least one cause of that exception)
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.
BeforeBuildCustomToolProjectItems was not handling IBuildable derived classes that were not either a Project or Solution. This happens when a project is run and SharpDevelop is configured to build modified projects or build modified projects and dependent projects or when running unit tests.
Now custom tools are only run when a project or solution is explicitly rebuilt or built using the Build/Rebuild from the Build menu.
Pre-build custom tool runner was not handling that IProject.ProjectSpecificItems can be null for a project that has no preferences xml file already created (e.g. project created by Visual Studio and then opened in SharpDevelop).
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.
Add Custom Tools project options panel that can be used to enable running custom tools when a build is started just before the build executes.
Project options panel allows enabling/disabling this feature and specifying which files will have their custom tools run pre-build.
Configuration is stored in IProject.ProjectSpecificProperties.
An uninstalled folding manager would stay partially connected to the text view, which could cause the InvalidOperationException: "Trying to build visual line from collapsed line".
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.