Sandcastle-June 2010 Release: Source and Binary

Jul 2, 2010 at 10:50 PM

Hello All,

The sources under the source control does not match the released binary! Am I missing something?

Best regards,
Paul. 

Coordinator
Jul 2, 2010 at 10:56 PM

They should definitely match and if they don’t we will correct it asap. I will check with the person who generated the MSI and posted the source code. I may not get an answer for you until Monday since he comes to work Sunday evening (he is in Beijing).

From: SelormeyPaul [mailto:notifications@codeplex.com]
Sent: Friday, July 02, 2010 3:50 PM
To: Darren Parker
Subject: Sandcastle-June 2010 Release: Source and Binary [Sandcastle:218207]

From: SelormeyPaul

Hello All,

The sources under the source control does not match the released binary! Am I missing something?

Best regards,
Paul.

Read the full discussion online.

To add a post to this discussion, reply to this email (Sandcastle@discussions.codeplex.com)

To start a new discussion for this project, email Sandcastle@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com

Jul 2, 2010 at 11:10 PM
Edited Jul 2, 2010 at 11:16 PM

Hello Darren,

Thanks for the quick response. I was getting a mix result with my tools and decided to find out what is really doing on.

A quick check is the implementation of the IDisposable in the source (BuildComponent)

http://sandcastle.codeplex.com/SourceControl/changeset/view/54478#397126

compared with a Reflector view of the binary version in BuildAssemblerLibrary.dll. Can someone else confirm this?

Best regards,
Paul. 

Editor
Jul 3, 2010 at 2:08 AM

Yes, I noticed that too.  The IDisposable pattern changed in the July 2009 release and was what you see in the source code for the current June 2010 release.  However, the latest release's binaries uses the same pattern as the May 2008 and prior releases (only a Dispose() method, no Dispose(true) method).  In fact, if you compare the code from the latest release in the .\Development\Source folder to the code extracted from the Snapshots\SandcastleSource.zip file, there are several differences.  However, the code in the .\Development folder appears to be the most recent and is a close match to the binaries as far as I can tell with no missing functionality.  The version number in the snapshot copy is for the prior release too so it probably doesn't belong there.

Eric

 

Jul 3, 2010 at 6:54 AM

Eric: >>...and is a close match to the binaries as far as I can tell with no missing functionality

By its label, "Associated with Release: Sandcastle-June 2010 Release (Version 2.6.1062.1).",
this should be the same as the released version, not close.

Eric: >> The version number in the snapshot copy is for the prior release too so it probably doesn't belong there.

The snapshot was the first dump/release of the Sandcastle sources - it has never changed.

Best regards,
Paul. 

Jul 9, 2010 at 3:36 AM

Hello Darren,

It is Friday (here in Japan), what is your position on this issue?

Best regards,
Paul. 

Jul 13, 2010 at 12:29 PM
Darren, do you have any news about this problem?
Coordinator
Jul 13, 2010 at 2:12 PM

Hey,

Sandcastle was managed by a few different teams here over the last few years.  It looks like for some reason, a few changes were made directly in the Codeplex version of the source.  Unfortunately, the changes never ended up getting made in our internal source.  They appear to have been made to fix some FxCop warnings:

Warning               27           CA1816 : Microsoft.Usage : Change 'BuildComponent.Dispose()' to call 'GC.SuppressFinalize(object)'. This will prevent unnecessary finalization of the object once it has been disposed and it has fallen out of scope.         \Source\BuildAssembler\BuildAssemblerLibrary\BuildComponent.cs     24                BuildAssemblerLibrary

 Warning               28           CA1063 : Microsoft.Design : Modify 'BuildComponent.Dispose()' so that it calls Dispose(true), then calls GC.SuppressFinalize on the current object instance ('this' or 'Me' in Visual Basic), and then returns.                \Trunk\Source\BuildAssembler\BuildAssemblerLibrary\BuildComponent.cs        24           BuildAssemblerLibrary

I have asked our team to pick up these changes and get them into our main branch.  We will then regenerate a setup package and release it so that everything is 100 % in sync.

Darren

Jul 13, 2010 at 6:32 PM
Hi Darren et al; Perhaps a Public Beta might not have been such a bad idea after all?? Regards Dave
Jul 20, 2010 at 3:00 PM
Edited Jul 20, 2010 at 3:03 PM
HI Darren, I was working with Sandcastle 2.6.10621.1 and SHFB 1.9.1.0 and there are more differences between source code and assemblies installed by released MSI package. When you build Sandcastle from source code you will have MRefBuilder.exe that is referencing Reflection.dll - with most of the API. This is not true for the MRefBuilder installed with the released package - it contains all the API from the Reflection.dll in itself. There are also two other programs bundled in the MSI: SegregateByAssembly.exe and SegregateByNamespace.exe and their source code is not included in the June release. And there are possibly even more differences. Will this be addressed and *when* ? Should we wait a week? A month? Or another year for next release? PS: I'm just wondering how is it even possible to release completely different source code and programs? (Microsoft is not making a release for the first time and this is not yours first open source project.) BTW: Codeplex is no longer replacing newlines in comments with HTML brs... Well, one must put br tag on its own...
Jul 20, 2010 at 3:40 PM
Edited Jul 20, 2010 at 3:42 PM

izak: >>PS: I'm just wondering how is it even possible to release completely different source code and programs?

Darren is new to the Sandcastle Team, and now trying to put a team in place so lets give him time.

The Help Teams (plural) at MS are very political. With the formation of the Help 3 Team, we all thought things were going to get better, but we are back to the same point.

On the current problem, my guess is that ComponentOne, which was contracted to move the Sandcastle to the MHV platform, started with the older released version of the Sandcastle, and the version in the Codeplex source control is the synchronized source. The release manager mistakenly released the version from ComponentOne as Sandcastle 2.6.10621.1

Best regards,
Paul