Using .NET 4.5 on Win8

Nov 2, 2011 at 4:23 AM

I realize that this might be an unreasonable request, but is there any chance that Sandcastle will work with DLLs generated under Windows 8 with .NET 4.5 and the new beta version of Visual Studio?

We are doing some protoyping on Windows 8 and we would like to generate an API reference.



Nov 2, 2011 at 4:50 AM

>>Trevoris there any chance that Sandcastle will work with DLLs generated under Windows 8 with .NET 4.5

If you are looking for the possibility, then the simple answer is Yes. Some of the things you will need to do...

1. If you need links resolved to MSDN (wonder if there is .NET 4.5 online), you will have to generate the reflection database
2. Teach Sandcastle how to access the .NET 4.5 assemblies. 
3. Etc. (cannot tell until actually tested).

Best regards,

Nov 2, 2011 at 7:33 PM

If it's just for prototyping and you don't mind any new framework class members not getting resolved to links to the online MSDN help, rebuilding the Sandcastle reflection database isn't really necessary.  You may need to add the new framework version to the C:\Program Files (x86)\Sandcastle\ProductionTools\MRefBuilder.exe.config file.  Just add a new supportedRuntime element as the first entry with the latest framework version number that matches the 4.5 framework folder name in C:\Windows\Microsoft.NET\Framework.

If you're using the Sandcastle Help File Builder, select the version number in the project's FrameworkVersion property and it should work okay.  The standalone GUI for SHFB should work as expected.  I can't say for sure whether the SHFB VS Package will install or not.  My guess is probably not since the VSIX installer limits it to known VS 2010 versions.



Nov 4, 2011 at 4:26 AM

Sorry, I should have tried this before asking the question. It turns out that .NET 4.5 masquerades as 4.0. So you can just tell Sandcastle that it is 4.0 and it all seems to work.

There might be some missing Framework references, but I don't care about that. I just wanted to be able to see the entire Namespace with all the Properties and Methods because it is an easy way to view it. It also helps to pick up missing documentation headers.

Thanks for the prompt feedback.