...snip...
> Having gone through that, I can tell you that it's a bit of a mess. The
> current version of the SDK is the December version, so once you install
[quoted text clipped - 12 lines]
> you change the MPF source (as you will need to since it's incomplete and
> has bugs) you can still do a diff on the original source.
Ok Don, I'll give that try and bear in mind your second comment.
> The MPF is a bit of a bumpy road, but the unmanaged sample will make your
> eyes bleed and shows no signs of life. The MPF works fairly well and SCC
[quoted text clipped - 3 lines]
> documentation. Much of the SDK help consists of empty boilerplate pages,
> and at that point you hit a brick wall with nowhere to go.
Been there, done that!!
It seems to me that the reason they stopped distributing the MPF assembly
was so that developers could fix any issues found in its source. I can
handle that, but I think that there should be a standalone project to build
an assembly from the given (modified) source. Then you would be able to
reference the "developer's version" of the assembly from your own package
projects. I was tempted to do it this way by myself, until I noticed in the
Readme.html file that I am not licensed to do such a thing!!!
Maybe the VSIP team should rethink how this stuff is distributed?
Thanks a lot for your help,
Loz.
PS. Does anyone know what the "ProjectBase.files" XML file is used for, if
anything, and how to use it? The comments imply I could somehow import it
into my own project, but I don't know how to!
Don Caton - 25 Jan 2006 15:17 GMT
> It seems to me that the reason they stopped distributing the MPF assembly
> was so that developers could fix any issues found in its source. I can
Which is fine, but so many of the interfaces are not documented that
it's nearly an impossible task. How do you know what to fix when you
don't even know what the call does, or what the parameters mean?
And there's a near total lack of trace statements that can be enabled in
the MPF so you can trace the flow of execution. It's a big guessing
game, setting breakpoints on methods that look interesting and seeing if
they ever get called. It's an enormous time waster.
> PS. Does anyone know what the "ProjectBase.files" XML file is used for, if
> anything, and how to use it? The comments imply I could somehow import it
> into my own project, but I don't know how to!
ProjectBase.files is just a MSBuild project file, and it adds all of the
files in common\source\csharp\project to the managed project sample. I
assume it doesn't have a standard .csproj extension so it can't
accidentally be built on its own.
This _is_ the MPF framework. The MyProject.csproj file just has an
<Import> tag that imports ProjectBase.files, effectively including all
the source to the MPF in the managed project sample. The project sample
itself is just a handful of subclassed MPF classes, mostly ProjectNode.
If you simply copy the managed project sample to another directory,
you're still going to be referencing (and potentially editing) the
original MPF source code. I suggest making a copy of the entire
common\source\csharp\project directory, then editing your own project's
.csproj file and changing the <Import
Project="$(ProjectBasePath)\ProjectBase.Files" /> tag to point to your
copied version of ProjectBase.Files. That way your project will be
working with a copy, and you won't accidentally edit the original MPF
files. Then when a new SDK is released, you can diff the two versions
to see what they changed/fixed in the MPF and make whatever adjustments
in your own copy as necessary.
--
Don
Lawrence Groves - 25 Jan 2006 16:23 GMT
response inline...
>> It seems to me that the reason they stopped distributing the MPF assembly
>> was so that developers could fix any issues found in its source. I can
>
> Which is fine, but so many of the interfaces are not documented that it's
> nearly an impossible task. How do you know what to fix when you don't
> even know what the call does, or what the parameters mean?
Agreed!
> And there's a near total lack of trace statements that can be enabled in
> the MPF so you can trace the flow of execution. It's a big guessing game,
> setting breakpoints on methods that look interesting and seeing if they
> ever get called. It's an enormous time waster.
Yes, I've done that more than a few times recently :-(
>> PS. Does anyone know what the "ProjectBase.files" XML file is used for,
>> if
[quoted text clipped - 10 lines]
> source to the MPF in the managed project sample. The project sample
> itself is just a handful of subclassed MPF classes, mostly ProjectNode.
I kind of figured that, but didn't know the mechanics of how the sample went
about importing the files listed in XML (ie, the framework itself).
> If you simply copy the managed project sample to another directory, you're
> still going to be referencing (and potentially editing) the original MPF
[quoted text clipped - 7 lines]
> see what they changed/fixed in the MPF and make whatever adjustments in
> your own copy as necessary.
Thanks a lot Don, you've shed a ton of light on 'how' to use the distributed
source code for me.
Loz.
Phil Taylor [MS] - 07 Feb 2006 21:11 GMT
no, we explicitly dont want a separate assembly generated from this source.
that will create all sorts of versioning and servicing issues and is exactly
why we removed the binary from VS.
you must include it in your own package and not generate a separate
assembly. and certainly not one with a Microsoft namespace as that will only
cause problems.
we have thought about various issues at length I assure you. we believe
getting the source is a reasonable tradeoff for not having it in a separate
assembly. whether or not to migrate from version to version is a separate
issue.
> ....snip...
>
[quoted text clipped - 44 lines]
> anything, and how to use it? The comments imply I could somehow import it
> into my own project, but I don't know how to!