Documenting WP8 Project

Jan 11, 2013 at 1:04 PM

I am trying to document a new WP8 project and I am having some issues. I added the WP8 C# project file as a Documentation Source but when running Sandcastle I get the following error.

"A project with a different or higher framework version was found but that version (WindowsPhone 8.0) or a suitable redirected version was not found on this system.  The build cannot continue."

Do I need to add a supported framework to Sandcastle to get this to work?

Coordinator
Jan 11, 2013 at 3:20 PM

Adding the assembly, XML comments, and references rather than the project should work around the issue for now.  If you can send me an example project, I'll see about adding support for that project type.

Eric

 

Feb 1, 2013 at 6:43 AM
Edited Feb 1, 2013 at 6:44 AM
We had some problems here with WP8 documentation. MRefBuilder doesn't like the libraries from .net v4.0, and fails:

MREFBUILDER : error : Unresolved assembly reference: System.Windows (System.Windows, Version=2.0.6.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) required by FilterEffects [C:\Programmation\Help\Working\GenerateRefInfo.proj]

I created a partial framework entry for WP8, regenerated the reflection data and I am pretty satisfied by the results.
<Framework Platform="WindowsPhone" Version="8.0" Title="Windows Phone 8">
    <AssemblyLocations>
      <Location IsCore="true" Path="%ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0">
        <AssemblyDetails Filename="System.Windows.dll" Name="System.Windows" Version="2.0.6.0" PublicKeyToken="7cec85d7bea7798e" />
        <AssemblyDetails Filename="System.dll" Name="System" Version="4.0.50829.0" PublicKeyToken="7cec85d7bea7798e" />
        <AssemblyDetails Filename="mscorlib.dll" Name="mscorlib" Version="4.0.0.0" PublicKeyToken="7cec85d7bea7798e" />
        <AssemblyDetails Filename="Microsoft.Phone.dll" Name="Microsoft.Phone" Version="8.0.0.0" PublicKeyToken="24eec0d8c86cda1e" />

      </Location>
      <Location Path="%ProgramFiles(x86)%\Windows Phone Kits\8.0\Windows MetaData">
        <AssemblyDetails Filename="Windows.winmd" Name="Windows" Version="255.255.255.255" />
      </Location>
    </AssemblyLocations>
  </Framework>
Are there any plans to make WP8 officially supported by Sandcastle? Can I help in any way?
Coordinator
Feb 1, 2013 at 3:25 PM
Recreating the reflection data shouldn't be necessary as it's currently shared amongst all frameworks and doesn't come into play until the BuildAssembler step. As I posted above, an example Windows Phone project would help so that I can see if there's anything else besides a framework entry to add to support it properly. It doesn't have to be anything special, just enough to produce the missing reference problem. My e-mail address is in the About box in the standalone GUI and the footer of the pages in the help file. Thanks.

Eric
Aug 11, 2014 at 3:28 PM
Hi Eric. I have the same problem, but with System.Device assembly. The System.Windows assembly has been resolved successfully, if I add it manually to the References block.

MRefBuilder : error : Unresolved assembly reference: System.Device (System.Device, Version=2.0.5.0, Culture=neutral, PublicKeyToken=24eec0d8c86cda1e) required by PhoneClassLibrary5 [D:\Alex\Work\Tasks\IconPeak\Development\Documentation\Sandcastle1\Help\Working\GenerateRefInfo.proj]
Last step completed in 00:00:02.7847


I'll send you a sample project. Could you please help me?
Coordinator
Aug 11, 2014 at 3:46 PM
Are you using the latest release? If not, upgrading should resolve the issue since it supports Windows Phone and WIndows Phone Silverlight (8.1) and Store (8.1) apps. If that doesn't correct it, you can e-mail me an example. My e-mail address is in the footer of the pages in the SHFB help file.

Eric