Problem occurred if the project had no SourceAnalysisOverrideSettingsFile set in the project.
In this case the options panel was overriding the ProjectOptions.Load method and changing the
values but not setting the IsDirty flag back to false so the UI was showing it as not dirty
when in fact it had been changed. Further changes did not cause the IsDirty flag to change so
the UI never displayed the an asterisk indicating there were outstanding changes.
VsSolution returns an E_FAIL COM error if the project cannot be found.
If the project was in a subfolder inside the solution then VsSolution was failing to find the project
using its unique name (e.g. 'MyProject\MyProject.csproj').
Project template containing ${SolutionName} in the ProjectReference/@Include attribute will have the project name expanded.
<ProjectItems>
<ProjectReference Include="..\${SolutionName}.Base.csproj" />
Project template containing ${ProjectName} in the ProjectReference/@Include attribute will have the project name expanded.
<ProjectItems>
<ProjectReference Include="..\${ProjectName}.Base.csproj" />
Project template containing ${ProjectName} in the Project/@directory attribute will have the project name expanded.
<Project name="${ProjectName}.Interface" directory="Base\${ProjectName}.Interface" language="C#">
Changed the Add New Database Connection dialog so when a driver is selected the
data source control is shown. This allows the user to enter connection details,
such as the username and password, without having to use the auto-discover button.
Change EnvDTE.ProjectItems.AddFileFromCopy to add .resx and .Designer.cs files to the
project with DependentUpon set to the parent file if a parent file is found in the project.