Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Completed .NET 4.5 migration and build engine rework #115

Merged
merged 1 commit into from
Jun 7, 2015

Conversation

EWSoftware
Copy link
Owner

No description provided.

- Updated all projects to use .NET 4.5 and made it the minimum in the guided installer.
- Removed the old project format converters.  I can't guarantee they work well now anyway and they're getting in the way of other changes I want to make to the build engine.
- Removed lots of obsolete code and changed the SandcastleProject class so that it's more of a read-only wrapper around the underlying MSBuild project.  This prevents inadvertent changes to the underlying project during builds.
- Changed the build engine so that it can be ran in the background as an asynchronous task rather than requiring a separate thread.
- Completed refactoring the substitution tag replacement code.
- Separated documentation source change tracking from SandcastleProject.
- Reworked documentation source component enumeration to simplify usage.
- Modified the standalone GUI so that it can detect changes made to the project and file items.
- Moved the manual visibility and API filter methods from the build engine into a new plug-in.
- Cleaned up the external task runner code and moved it into its own class.
- Removed loading of the reflection information file and replaced it with XML stream axis methods which greatly reduces memory usage in the build engine for large builds.
- Removed more obsolete code related to the Help 2 file format.
- Reworked how the default topic was determined.
- Moved clearing the prior web/markdown content to the start of the build where the other format output is deleted.  This allows other output generated by the build such as IntelliSense comments files to be placed in the output folder without being lost when the web content is generated.
- Updated the SHFB project schema version so that projects are converted when opened to fix up the help format project property values.
- Removed the Help Attribute related classes and project properties as they were only used for the Help 2 file format.
- Got rid of the VSSDK NuGet packages in favor of simple conditional references.  The VSSDK NuGet packages are a confusing mess and trying to figure out what's actually needed proved to be impossible without them dragging in lots of unnecessary references and ultimately causing duplicate type errors between differing versions of the assemblies when trying to make recent updates.
- Removed the Utility.GetThemeKey method in favor of using the built-in EnvironmentColors class.
- Fixed up some issues with the synchronous builds in the plug-ins and a couple of minor issues found while testing with VS2015.
EWSoftware added a commit that referenced this pull request Jun 7, 2015
Completed .NET 4.5 migration and build engine rework
@EWSoftware EWSoftware merged commit 8efad16 into master Jun 7, 2015
@EWSoftware EWSoftware deleted the DotNET45Migration branch June 7, 2015 23:19
@sharwell
Copy link
Contributor

sharwell commented Jun 8, 2015

💡 Changes like this are much easier to review if they are not squashed.

@sharwell
Copy link
Contributor

sharwell commented Jun 8, 2015

  • Got rid of the VSSDK NuGet packages in favor of simple conditional references. The VSSDK NuGet packages are a confusing mess and trying to figure out what's actually needed proved to be impossible without them dragging in lots of unnecessary references and ultimately causing duplicate type errors between differing versions of the assemblies when trying to make recent updates.

❗ This change means a build performed with the Visual Studio 2015 tool chain cannot be installed into an instance of Visual Studio 2013. When the VSSDK packages are installed, a user with Visual Studio 2015 only can build the project, and give the result to a Visual Studio 2013 user where it will successfully install.

💭 Some of the trouble you faced may have been fallout from tunnelvisionlabs/vsxdeps#24. Each package has a script which sets this value, but for some reason the script is no longer behaving as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants