<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>MPFProj10 Issue Tracker Rss Feed</title><link>http://mpfproj10.codeplex.com/WorkItem/List.aspx</link><description>MPFProj10 Issue Tracker Rss Description</description><item><title>Created Issue: Folder defined in project templates will not be created physically [12521]</title><link>http://mpfproj10.codeplex.com/workitem/12521</link><description>Folder &amp;#40;and their contents&amp;#41; will not get created, if they are defined in a vstemplate &amp;#40;project&amp;#41;. Instead i had to overwrite the CreateFolderNode method in class ProjectNode.&lt;br /&gt;&lt;br /&gt;But the FolderNotes appear in the Solution Explorer. In fact, they are degraded to some kind of solution folder.&lt;br /&gt;&lt;br /&gt;If an item got dragged or added to the FolderItem, the folder will be created ad hoc.&lt;br /&gt;&amp;#40;VS 2010 SP1&amp;#41;&lt;br /&gt;</description><author>humbrie</author><pubDate>Wed, 24 Oct 2012 11:05:23 GMT</pubDate><guid isPermaLink="false">Created Issue: Folder defined in project templates will not be created physically [12521] 20121024110523A</guid></item><item><title>Commented Issue: Project reference doesn't work correctly if referenced project is in a solution folder [10801]</title><link>http://mpfproj10.codeplex.com/workitem/10801</link><description>1. Create a Solution folder&lt;br /&gt;3. Create a C&amp;#35; project inside the just created folder.&lt;br /&gt;4. Create a whatever project using MPF &amp;#40;Visual T&amp;#35; in the attached Image&amp;#41;&lt;br /&gt;5. Make a reference from MPF project to C&amp;#35; project&amp;#58; an exclamation sign appears. Reference is not resolved and Intellisense does not work&amp;#33;&lt;br /&gt;&lt;br /&gt;See attached image.&lt;br /&gt;Comments: ** Comment from web user: ldubois ** &lt;p&gt;&amp;#64;kiquenet, this is a method provided by MPF that compare two paths and returns true iif they are equal.&lt;/p&gt;</description><author>ldubois</author><pubDate>Wed, 29 Aug 2012 00:31:12 GMT</pubDate><guid isPermaLink="false">Commented Issue: Project reference doesn't work correctly if referenced project is in a solution folder [10801] 20120829123112A</guid></item><item><title>Commented Issue: Project reference doesn't work correctly if referenced project is in a solution folder [10801]</title><link>http://mpfproj10.codeplex.com/workitem/10801</link><description>1. Create a Solution folder&lt;br /&gt;3. Create a C&amp;#35; project inside the just created folder.&lt;br /&gt;4. Create a whatever project using MPF &amp;#40;Visual T&amp;#35; in the attached Image&amp;#41;&lt;br /&gt;5. Make a reference from MPF project to C&amp;#35; project&amp;#58; an exclamation sign appears. Reference is not resolved and Intellisense does not work&amp;#33;&lt;br /&gt;&lt;br /&gt;See attached image.&lt;br /&gt;Comments: ** Comment from web user: kiquenet ** &lt;p&gt;&amp;#64;idubois, What is  NativeMethods.IsSamePath &amp;#63;&lt;/p&gt;</description><author>kiquenet</author><pubDate>Tue, 28 Aug 2012 12:13:43 GMT</pubDate><guid isPermaLink="false">Commented Issue: Project reference doesn't work correctly if referenced project is in a solution folder [10801] 20120828121343P</guid></item><item><title>Created Issue: Unhandled COMException in internal static method GetActiveConfigurationName(EnvDTE.Project automationObject) of Utilities [12424]</title><link>http://mpfproj10.codeplex.com/workitem/12424</link><description>When I provide my own project type with the following template, exception is thrown as I close projects of my own type.&lt;br /&gt;Exception is thrown in Line 404 of Utilities.cs.&lt;br /&gt;My project template is like this&amp;#58;&lt;br /&gt;&amp;#60;Project DefaultTargets&amp;#61;&amp;#34;Build&amp;#34; xmlns&amp;#61;&amp;#34;http&amp;#58;&amp;#47;&amp;#47;schemas.microsoft.com&amp;#47;developer&amp;#47;msbuild&amp;#47;2003&amp;#34;&amp;#62;&lt;br /&gt;  &amp;#60;PropertyGroup&amp;#62;&lt;br /&gt;    &amp;#60;Configuration Condition&amp;#61;&amp;#34; &amp;#39;&amp;#36;&amp;#40;Configuration&amp;#41;&amp;#39;&amp;#61;&amp;#61;&amp;#39;&amp;#39; &amp;#34;&amp;#62;Debug&amp;#60;&amp;#47;Configuration&amp;#62;&lt;br /&gt;    &amp;#60;ConfigurationName Condition&amp;#61;&amp;#34; &amp;#39;&amp;#36;&amp;#40;ConfigurationName&amp;#41;&amp;#39; &amp;#61;&amp;#61; &amp;#39;&amp;#39; &amp;#34;&amp;#62;&amp;#36;&amp;#40;Configuration&amp;#41;&amp;#60;&amp;#47;ConfigurationName&amp;#62;&lt;br /&gt;    &amp;#60;OutputPath Condition&amp;#61;&amp;#34; &amp;#39;&amp;#36;&amp;#40;OutputPath&amp;#41;&amp;#39;&amp;#61;&amp;#61;&amp;#39;&amp;#39; &amp;#34;&amp;#62;output&amp;#92;Debug&amp;#60;&amp;#47;OutputPath&amp;#62;&lt;br /&gt;  &amp;#60;&amp;#47;PropertyGroup&amp;#62;&lt;br /&gt;  &amp;#60;Target Name&amp;#61;&amp;#34;Build&amp;#34;&amp;#62;&lt;br /&gt;    &amp;#60;Message Text&amp;#61;&amp;#34;It is an empty target.&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;  &amp;#60;&amp;#47;Target&amp;#62;&lt;br /&gt;&amp;#60;&amp;#47;Project&amp;#62;&lt;br /&gt;&lt;br /&gt;The code where unhandled COMException is thrown.&lt;br /&gt;&lt;br /&gt;internal static string GetActiveConfigurationName&amp;#40;EnvDTE.Project automationObject&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    if&amp;#40;automationObject &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        throw new ArgumentNullException&amp;#40;&amp;#34;automationObject&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;    string currentConfigName &amp;#61; string.Empty&amp;#59;&lt;br /&gt;    if&amp;#40;automationObject.ConfigurationManager &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;&amp;#62;&amp;#62;&amp;#62;&amp;#62;EnvDTE.Configuration activeConfig &amp;#61; automationObject.ConfigurationManager.ActiveConfiguration&amp;#59;&lt;br /&gt;        if&amp;#40;activeConfig &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;           currentConfigName &amp;#61; activeConfig.ConfigurationName&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;    return currentConfigName&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;</description><author>richarddzh</author><pubDate>Sun, 05 Aug 2012 04:39:53 GMT</pubDate><guid isPermaLink="false">Created Issue: Unhandled COMException in internal static method GetActiveConfigurationName(EnvDTE.Project automationObject) of Utilities [12424] 20120805043953A</guid></item><item><title>Commented Issue: ProjectConfig.get_CanonicalName returns display name instead of the canonical name [12178]</title><link>http://mpfproj10.codeplex.com/workitem/12178</link><description>DisplayName is documented as being in the form &amp;#34;&amp;#60;configname&amp;#62;&amp;#124;&amp;#60;platform name&amp;#62;&amp;#34; http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;bb139670&amp;#40;v&amp;#61;VS.80&amp;#41;.aspx&lt;br /&gt;&lt;br /&gt;CanonicalName is just the config name such as &amp;#34;Debug&amp;#34; or &amp;#34;Release&amp;#34; http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;microsoft.visualstudio.shell.interop.ivsprojectcfg.get_canonicalname&amp;#40;v&amp;#61;VS.80&amp;#41;.aspx&lt;br /&gt;&lt;br /&gt;In MPFProj get_CanonicalName just calls get_DisplayName, so a string such as &amp;#34;Debug&amp;#124;AnyCPU&amp;#34; is passed out when it should just be &amp;#34;Debug&amp;#34;.&lt;br /&gt;&lt;br /&gt;The fix is to make get_CanonicalName just to do&amp;#58;&lt;br /&gt;&lt;br /&gt;        public virtual int get_CanonicalName&amp;#40;out string name&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            name &amp;#61; configName&amp;#59;&lt;br /&gt;            return VSConstants.S_OK&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;Comments: ** Comment from web user: dinov ** &lt;p&gt;If you are using MPFProj w&amp;#47; Dev11 and are getting an error about x64 and ARM targets not being supported in the WPF designer you might want this fix.&lt;/p&gt;</description><author>dinov</author><pubDate>Tue, 22 May 2012 22:55:34 GMT</pubDate><guid isPermaLink="false">Commented Issue: ProjectConfig.get_CanonicalName returns display name instead of the canonical name [12178] 20120522105534P</guid></item><item><title>Created Issue: ProjectConfig.get_CanonicalName returns display name instead of the canonical name [12178]</title><link>http://mpfproj10.codeplex.com/workitem/12178</link><description>DisplayName is documented as being in the form &amp;#34;&amp;#60;configname&amp;#62;&amp;#124;&amp;#60;platform name&amp;#62;&amp;#34; http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;bb139670&amp;#40;v&amp;#61;VS.80&amp;#41;.aspx&lt;br /&gt;&lt;br /&gt;CanonicalName is just the config name such as &amp;#34;Debug&amp;#34; or &amp;#34;Release&amp;#34; http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;microsoft.visualstudio.shell.interop.ivsprojectcfg.get_canonicalname&amp;#40;v&amp;#61;VS.80&amp;#41;.aspx&lt;br /&gt;&lt;br /&gt;In MPFProj get_CanonicalName just calls get_DisplayName, so a string such as &amp;#34;Debug&amp;#124;AnyCPU&amp;#34; is passed out when it should just be &amp;#34;Debug&amp;#34;.&lt;br /&gt;&lt;br /&gt;The fix is to make get_CanonicalName just to do&amp;#58;&lt;br /&gt;&lt;br /&gt;        public virtual int get_CanonicalName&amp;#40;out string name&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            name &amp;#61; configName&amp;#59;&lt;br /&gt;            return VSConstants.S_OK&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;</description><author>dinov</author><pubDate>Tue, 22 May 2012 21:28:58 GMT</pubDate><guid isPermaLink="false">Created Issue: ProjectConfig.get_CanonicalName returns display name instead of the canonical name [12178] 20120522092858P</guid></item><item><title>Commented Issue: Adding a folder when the folder already exists differs from C# [11519]</title><link>http://mpfproj10.codeplex.com/workitem/11519</link><description>Select a folder, Project-&amp;#62;New Folder, type in a folder name that exists on disk but not in the project system.&lt;br /&gt;&lt;br /&gt;In MPFProj this reports an error that the folder already exists.&lt;br /&gt;&lt;br /&gt;In C&amp;#35; this adds the existing folder.&lt;br /&gt;&lt;br /&gt;The difference here is that MPFProj always immediately adds the folder including attempting to create the directory.  The C&amp;#35; project system waits until the call to SetEditLabel to actually do the work of creating the directory and doesn&amp;#39;t care if it already exists.&lt;br /&gt;Comments: ** Comment from web user: KlausGuetter ** &lt;p&gt;The proposed fix has a problem with subordinate folders&amp;#58; the VirtualNodeName is set wrong in this case which leads to the problem that files added to the new subordinate folder A&amp;#92;B&amp;#92;C end up in projectdir&amp;#92;C.&lt;/p&gt;&lt;p&gt;To fix, replace the line &lt;br /&gt;this.VirtualFolderName &amp;#61; filename&amp;#59;&lt;br /&gt;by&lt;br /&gt;this.VirtualFolderName &amp;#61; Path.Combine&amp;#40;Parent.VirtualFolderName, filename&amp;#41;&amp;#59;&lt;br /&gt;in FinishFolderAdd&lt;/p&gt;</description><author>KlausGuetter</author><pubDate>Fri, 13 Jan 2012 07:57:48 GMT</pubDate><guid isPermaLink="false">Commented Issue: Adding a folder when the folder already exists differs from C# [11519] 20120113075748A</guid></item><item><title>Created Issue: Copy and pasting a folder with multiple items throws an exception (WalkSourceProjectAndAdd adds item to incorrect parent) [11618]</title><link>http://mpfproj10.codeplex.com/workitem/11618</link><description>ProjectNode.CopyPaste contains the following code to recursively add all of the siblings when copying a folder within a project&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Then look at siblings&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;currentItemID &amp;#61; itemId&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;while&amp;#40;currentItemID &amp;#33;&amp;#61; VSConstants.VSITEMID_NIL&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;variant &amp;#61; null&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;ErrorHandler.ThrowOnFailure&amp;#40;sourceHierarchy.GetProperty&amp;#40;itemId, &amp;#40;int&amp;#41;__VSHPROPID.VSHPROPID_NextVisibleSibling, out variant&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;currentItemID &amp;#61; &amp;#40;uint&amp;#41;&amp;#40;int&amp;#41;variant&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;WalkSourceProjectAndAdd&amp;#40;sourceHierarchy, currentItemID, targetNode, true&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#125;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But to properly walk the list of siblings it needs to pass currentItemId to sourceHierarchy.GetProperty instead of passing itemId.  By passing itemId it is repeatedly adding the same node multiple times.  Ultimately this results in AddItemWithSpecific returning ADDRESULT_Cancel because of this check&amp;#58;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47; If the file to be added is an existing file part of the hierarchy then continue.&lt;br /&gt;                    if &amp;#40;NativeMethods.IsSamePath&amp;#40;file, newFileName&amp;#41;&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        result&amp;#91;0&amp;#93; &amp;#61; VSADDRESULT.ADDRESULT_Cancel&amp;#59;&lt;br /&gt;                        continue&amp;#59;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;&lt;br /&gt;And then AddNodeIfTargetExistInStorage throws an Exception with no message which propagates out to the user.  &lt;br /&gt;&lt;br /&gt;Changing to itemId to currentItemId causes the copy and paste to succeed.&lt;br /&gt;</description><author>dinov</author><pubDate>Thu, 12 Jan 2012 21:05:56 GMT</pubDate><guid isPermaLink="false">Created Issue: Copy and pasting a folder with multiple items throws an exception (WalkSourceProjectAndAdd adds item to incorrect parent) [11618] 20120112090556P</guid></item><item><title>Commented Issue: Adding a folder when the folder already exists differs from C# [11519]</title><link>http://mpfproj10.codeplex.com/workitem/11519</link><description>Select a folder, Project-&amp;#62;New Folder, type in a folder name that exists on disk but not in the project system.&lt;br /&gt;&lt;br /&gt;In MPFProj this reports an error that the folder already exists.&lt;br /&gt;&lt;br /&gt;In C&amp;#35; this adds the existing folder.&lt;br /&gt;&lt;br /&gt;The difference here is that MPFProj always immediately adds the folder including attempting to create the directory.  The C&amp;#35; project system waits until the call to SetEditLabel to actually do the work of creating the directory and doesn&amp;#39;t care if it already exists.&lt;br /&gt;Comments: ** Comment from web user: dinov ** &lt;p&gt;This change set includes my fix for this&amp;#58; http&amp;#58;&amp;#47;&amp;#47;pytools.codeplex.com&amp;#47;SourceControl&amp;#47;changeset&amp;#47;changes&amp;#47;a24a50158934&lt;br /&gt;&lt;/p&gt;</description><author>dinov</author><pubDate>Thu, 08 Dec 2011 00:14:19 GMT</pubDate><guid isPermaLink="false">Commented Issue: Adding a folder when the folder already exists differs from C# [11519] 20111208121419A</guid></item><item><title>Created Issue: Adding a folder when the folder already exists differs from C# [11519]</title><link>http://mpfproj10.codeplex.com/workitem/11519</link><description>Select a folder, Project-&amp;#62;New Folder, type in a folder name that exists on disk but not in the project system.&lt;br /&gt;&lt;br /&gt;In MPFProj this reports an error that the folder already exists.&lt;br /&gt;&lt;br /&gt;In C&amp;#35; this adds the existing folder.&lt;br /&gt;&lt;br /&gt;The difference here is that MPFProj always immediately adds the folder including attempting to create the directory.  The C&amp;#35; project system waits until the call to SetEditLabel to actually do the work of creating the directory and doesn&amp;#39;t care if it already exists.&lt;br /&gt;</description><author>dinov</author><pubDate>Thu, 08 Dec 2011 00:03:44 GMT</pubDate><guid isPermaLink="false">Created Issue: Adding a folder when the folder already exists differs from C# [11519] 20111208120344A</guid></item><item><title>Created Issue: Copying nodes with dependent nodes [11347]</title><link>http://mpfproj10.codeplex.com/workitem/11347</link><description>There is some support for handling of dependent nodes in MPF &amp;#40;e.g. renaming, deleting&amp;#41;, but it seems not to be complete.&lt;br /&gt;&lt;br /&gt;When copying &amp;#40;via clipboard or d&amp;#38;d&amp;#41; a node which has some dependent nodes, MPF currently only copies the parent node.&lt;br /&gt;&lt;br /&gt;Did anyone already succeed in fixing this&amp;#63;&lt;br /&gt;</description><author>KlausGuetter</author><pubDate>Tue, 11 Oct 2011 06:01:21 GMT</pubDate><guid isPermaLink="false">Created Issue: Copying nodes with dependent nodes [11347] 20111011060121A</guid></item><item><title>Created Issue: OAAssemblyReference.Identity should return BaseReferenceNode.AssemblyName.Name, not FullName [11274]</title><link>http://mpfproj10.codeplex.com/workitem/11274</link><description>The docs say this should return &amp;#34;Assembly name &amp;#40;assembly name without path or extension&amp;#41;&amp;#34;.  That&amp;#39;s a little vague on whether it should be the full name including strong name, culture, etc... or if it should just be the simple name.  &lt;br /&gt;&lt;br /&gt;But the way the Cider designer uses this it expects the simple name.  It calls the other properties to get the culture, version, etc...  and stores the result of Identity into the Name property of an AssemblyName object.  When this name is the full name this results in the commas being escaped and having an assembly name which is totally bogus.&lt;br /&gt;</description><author>dinov</author><pubDate>Thu, 15 Sep 2011 21:20:37 GMT</pubDate><guid isPermaLink="false">Created Issue: OAAssemblyReference.Identity should return BaseReferenceNode.AssemblyName.Name, not FullName [11274] 20110915092037P</guid></item><item><title>Commented Issue: SingleFileGenerator doesen't truncate the generated file in Iso-Shell [10727]</title><link>http://mpfproj10.codeplex.com/workitem/10727</link><description>The Method UpdateGeneratedCodeFile in the class SingleFileGenerator has two bugs&amp;#58;&lt;br /&gt;&lt;br /&gt;1&amp;#41; If it is running in the Iso-Shell the generated file isn&amp;#39;t truncated if it is shorter than befor. You can fix this by changing the line &amp;#40;around line 291&amp;#41; &lt;br /&gt;using &amp;#40;FileStream generatedFileStream &amp;#61; File.Open&amp;#40;filePath, FileMode.OpenOrCreate&amp;#41;&amp;#41;&lt;br /&gt;to&lt;br /&gt;using &amp;#40;FileStream generatedFileStream &amp;#61; File.Open&amp;#40;filePath, FileMode.Create&amp;#41;&amp;#41;&lt;br /&gt;&lt;br /&gt;2&amp;#41; If the generated file is open in visual studio it is &amp;#42;not&amp;#42; generated. I&amp;#39;ll fix it by generating always. To do this I&amp;#39;ll comment out the lines from &amp;#39;if&amp;#40;docData &amp;#33;&amp;#61; IntPtr.Zero&amp;#41;&amp;#39; until the &amp;#39;else&amp;#39; block.&lt;br /&gt;Comments: ** Comment from web user: ldubois ** &lt;p&gt;I&amp;#39;m OK with first point.&lt;/p&gt;&lt;p&gt;But second point is because of a missing line of code&amp;#58; GetBufferContents&amp;#40; filePath, srpStream &amp;#41;&amp;#59; between IVSTextStream srpStream &amp;#61; null&amp;#59; and if&amp;#40; srpStream &amp;#33;&amp;#61; null &amp;#41;&lt;/p&gt;&lt;p&gt;I also changed code so that in memory changed failure &amp;#61;&amp;#62; save it on disk&lt;/p&gt;&lt;p&gt;IVsHierarchy hier&amp;#59;&lt;br /&gt;uint cookie&amp;#59;&lt;br /&gt;uint itemid&amp;#59;&lt;br /&gt;IntPtr docData &amp;#61; IntPtr.Zero&amp;#59;&lt;br /&gt;ErrorHandler.ThrowOnFailure&amp;#40;rdt.FindAndLockDocument&amp;#40;&amp;#40;uint&amp;#41;&amp;#40;_VSRDTFLAGS.RDT_NoLock&amp;#41;, filePath, out hier, out itemid, out docData, out cookie&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;bool changedInMemory &amp;#61; false&amp;#59;&lt;br /&gt;if&amp;#40;docData &amp;#33;&amp;#61; IntPtr.Zero&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;  Marshal.Release&amp;#40;docData&amp;#41;&amp;#59;&lt;br /&gt;  IVsTextStream srpStream &amp;#61; null&amp;#59;&lt;br /&gt;  GetBufferContents&amp;#40; filePath, out srpStream &amp;#41;&amp;#59; &amp;#47;&amp;#47; Missing line &amp;#63;&amp;#33;&amp;#63;&amp;#33;&amp;#63;&lt;br /&gt;  if&amp;#40;srpStream &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;  &amp;#123;&lt;br /&gt;    int oldLen &amp;#61; 0&amp;#59;&lt;br /&gt;    int hr &amp;#61; srpStream.GetSize&amp;#40;out oldLen&amp;#41;&amp;#59;&lt;br /&gt;    if&amp;#40;ErrorHandler.Succeeded&amp;#40;hr&amp;#41;&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;      IntPtr dest &amp;#61; IntPtr.Zero&amp;#59;&lt;br /&gt;      try&lt;br /&gt;      &amp;#123;&lt;br /&gt;        dest &amp;#61; Marshal.AllocCoTaskMem&amp;#40;data.Length&amp;#41;&amp;#59;&lt;br /&gt;        Marshal.Copy&amp;#40;data, 0, dest, data.Length&amp;#41;&amp;#59;&lt;br /&gt;        ErrorHandler.ThrowOnFailure&amp;#40;srpStream.ReplaceStream&amp;#40;0, oldLen, dest, size &amp;#47; 2&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;        changedInMemory &amp;#61; true&amp;#59;&lt;br /&gt;      &amp;#125;&lt;br /&gt;      finally&lt;br /&gt;      &amp;#123;&lt;br /&gt;        if&amp;#40;dest &amp;#33;&amp;#61; IntPtr.Zero&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;          Marshal.Release&amp;#40;dest&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;      &amp;#125;&lt;br /&gt;    &amp;#125;&lt;br /&gt;  &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;if&amp;#40; &amp;#33;changedInMemory &amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;  using&amp;#40;FileStream generatedFileStream &amp;#61; File.Open&amp;#40;filePath, FileMode.Create&amp;#41;&amp;#41; &amp;#47;&amp;#47; not OpenOrCreate for the file to be truncated if necessary&lt;br /&gt;  &amp;#123;&lt;br /&gt;    generatedFileStream.Write&amp;#40;data, 0, size&amp;#41;&amp;#59;&lt;br /&gt;  &amp;#125;&lt;/p&gt;&lt;p&gt;  EnvDTE.ProjectItem projectItem &amp;#61; fileNode.GetAutomationObject&amp;#40;&amp;#41; as EnvDTE.ProjectItem&amp;#59;&lt;br /&gt;  if&amp;#40;projectItem &amp;#33;&amp;#61; null &amp;#38;&amp;#38; &amp;#40;this.projectMgr.FindChild&amp;#40;fileNode.FileName&amp;#41; &amp;#61;&amp;#61; null&amp;#41;&amp;#41;&lt;br /&gt;  &amp;#123;&lt;br /&gt;    projectItem.ProjectItems.AddFromFile&amp;#40;filePath&amp;#41;&amp;#59;&lt;br /&gt;  &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;return filePath&amp;#59;&lt;/p&gt;</description><author>ldubois</author><pubDate>Wed, 07 Sep 2011 15:09:11 GMT</pubDate><guid isPermaLink="false">Commented Issue: SingleFileGenerator doesen't truncate the generated file in Iso-Shell [10727] 20110907030911P</guid></item><item><title>Commented Issue: Project reference doesn't work correctly if referenced project is in a solution folder [10801]</title><link>http://mpfproj10.codeplex.com/workitem/10801</link><description>1. Create a Solution folder&lt;br /&gt;3. Create a C&amp;#35; project inside the just created folder.&lt;br /&gt;4. Create a whatever project using MPF &amp;#40;Visual T&amp;#35; in the attached Image&amp;#41;&lt;br /&gt;5. Make a reference from MPF project to C&amp;#35; project&amp;#58; an exclamation sign appears. Reference is not resolved and Intellisense does not work&amp;#33;&lt;br /&gt;&lt;br /&gt;See attached image.&lt;br /&gt;Comments: ** Comment from web user: ldubois ** &lt;p&gt;Here is my patche &amp;#40;in ProjectReferenceNode.cs&amp;#41;&amp;#58;&lt;/p&gt;&lt;p&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; Gets the automation object for the referenced project.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;        internal EnvDTE.Project ReferencedProjectObject&lt;br /&gt;        &amp;#123;&lt;br /&gt;            get&lt;br /&gt;            &amp;#123;&lt;br /&gt;                &amp;#47;&amp;#47; If the referenced project is null then re-read.&lt;br /&gt;                if &amp;#40;this.referencedProject &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                  &amp;#47;&amp;#47; Search for the project in the collection of the projects in the&lt;br /&gt;                  &amp;#47;&amp;#47; current solution.&lt;br /&gt;                  EnvDTE.DTE dte &amp;#61; &amp;#40;EnvDTE.DTE&amp;#41;this.ProjectMgr.GetService&amp;#40; typeof&amp;#40; EnvDTE.DTE &amp;#41; &amp;#41;&amp;#59;&lt;br /&gt;                  if&amp;#40; &amp;#40; null &amp;#61;&amp;#61; dte &amp;#41; &amp;#124;&amp;#124; &amp;#40; null &amp;#61;&amp;#61; dte.Solution &amp;#41; &amp;#41;&lt;br /&gt;                  &amp;#123;&lt;br /&gt;                    return null&amp;#59;&lt;br /&gt;                  &amp;#125;&lt;/p&gt;&lt;p&gt;                  foreach&amp;#40; EnvDTE.Project prj in dte.Solution.Projects &amp;#41;&lt;br /&gt;                    if&amp;#40; IsOrContainReferencedProject&amp;#40; prj &amp;#41; &amp;#41;&lt;br /&gt;                      break&amp;#59;&lt;br /&gt;                &amp;#125;&lt;/p&gt;&lt;p&gt;                return this.referencedProject&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            set&lt;br /&gt;            &amp;#123;&lt;br /&gt;                this.referencedProject &amp;#61; value&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;        private bool IsOrContainReferencedProject&amp;#40; EnvDTE.Project prj &amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;          &amp;#47;&amp;#47;Skip this project if it is an umodeled project &amp;#40;unloaded&amp;#41;&lt;br /&gt;          if&amp;#40; string.Compare&amp;#40; EnvDTE.Constants.vsProjectKindUnmodeled, prj.Kind, StringComparison.OrdinalIgnoreCase &amp;#41; &amp;#61;&amp;#61; 0 &amp;#41;&lt;br /&gt;          &amp;#123;&lt;br /&gt;            return false&amp;#59;&lt;br /&gt;          &amp;#125;&lt;br /&gt;          if&amp;#40; string.Compare&amp;#40; EnvDTE.Constants.vsProjectKindSolutionItems, prj.Kind, StringComparison.OrdinalIgnoreCase &amp;#41; &amp;#61;&amp;#61; 0 &amp;#41;&lt;br /&gt;          &amp;#123;&lt;br /&gt;            foreach&amp;#40; EnvDTE.ProjectItem projectItem in prj.ProjectItems &amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;              EnvDTE.Project project &amp;#61; projectItem.Object as EnvDTE.Project&amp;#59;&lt;br /&gt;              if&amp;#40; project &amp;#33;&amp;#61; null &amp;#38;&amp;#38;&lt;br /&gt;                  IsOrContainReferencedProject&amp;#40; project &amp;#41; &amp;#41;&lt;br /&gt;                return true&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            return false&amp;#59;&lt;br /&gt;          &amp;#125;&lt;/p&gt;&lt;p&gt;          &amp;#47;&amp;#47; Get the full path of the current project.&lt;br /&gt;          EnvDTE.Property pathProperty &amp;#61; null&amp;#59;&lt;br /&gt;          try&lt;br /&gt;          &amp;#123;&lt;br /&gt;            if&amp;#40; prj.Properties &amp;#61;&amp;#61; null &amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;              return false&amp;#59;&lt;br /&gt;            &amp;#125;&lt;/p&gt;&lt;p&gt;            pathProperty &amp;#61; prj.Properties.Item&amp;#40; &amp;#34;FullPath&amp;#34; &amp;#41;&amp;#59;&lt;br /&gt;            if&amp;#40; null &amp;#61;&amp;#61; pathProperty &amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;              &amp;#47;&amp;#47; The full path should alway be availabe, but if this is not the&lt;br /&gt;              &amp;#47;&amp;#47; case then we have to skip it.&lt;br /&gt;              return false&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;          &amp;#125;&lt;br /&gt;          catch&amp;#40; ArgumentException &amp;#41;&lt;br /&gt;          &amp;#123;&lt;br /&gt;            return false&amp;#59;&lt;br /&gt;          &amp;#125;&lt;br /&gt;          string prjPath &amp;#61; pathProperty.Value.ToString&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;          EnvDTE.Property fileNameProperty &amp;#61; null&amp;#59;&lt;br /&gt;          &amp;#47;&amp;#47; Get the name of the project file.&lt;br /&gt;          try&lt;br /&gt;          &amp;#123;&lt;br /&gt;            fileNameProperty &amp;#61; prj.Properties.Item&amp;#40; &amp;#34;FileName&amp;#34; &amp;#41;&amp;#59;&lt;br /&gt;            if&amp;#40; null &amp;#61;&amp;#61; fileNameProperty &amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;              &amp;#47;&amp;#47; Again, this should never be the case, but we handle it anyway.&lt;br /&gt;              return false&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;          &amp;#125;&lt;br /&gt;          catch&amp;#40; ArgumentException &amp;#41;&lt;br /&gt;          &amp;#123;&lt;br /&gt;            return false&amp;#59;&lt;br /&gt;          &amp;#125;&lt;br /&gt;          prjPath &amp;#61; System.IO.Path.Combine&amp;#40; prjPath, fileNameProperty.Value.ToString&amp;#40;&amp;#41; &amp;#41;&amp;#59;&lt;/p&gt;&lt;p&gt;          &amp;#47;&amp;#47; If the full path of this project is the same as the one of this&lt;br /&gt;          &amp;#47;&amp;#47; reference, then we have found the right project.&lt;br /&gt;          if&amp;#40; NativeMethods.IsSamePath&amp;#40; prjPath, referencedProjectFullPath &amp;#41; &amp;#41;&lt;br /&gt;          &amp;#123;&lt;br /&gt;            this.referencedProject &amp;#61; prj&amp;#59;&lt;br /&gt;            return true&amp;#59;&lt;br /&gt;          &amp;#125;&lt;br /&gt;          return false&amp;#59;&lt;br /&gt;        &amp;#125;&lt;/p&gt;</description><author>ldubois</author><pubDate>Mon, 18 Apr 2011 13:55:24 GMT</pubDate><guid isPermaLink="false">Commented Issue: Project reference doesn't work correctly if referenced project is in a solution folder [10801] 20110418015524P</guid></item><item><title>Created Issue: Project reference doesn't work correctly if referenced project is in a solution folder [10801]</title><link>http://mpfproj10.codeplex.com/workitem/10801</link><description>1. Create a Solution folder&lt;br /&gt;3. Create a C&amp;#35; project inside the just created folder.&lt;br /&gt;4. Create a whatever project using MPF &amp;#40;Visual T&amp;#35; in the attached Image&amp;#41;&lt;br /&gt;5. Make a reference from MPF project to C&amp;#35; project&amp;#58; an exclamation sign appears. Reference is not resolved and Intellisense does not work&amp;#33;&lt;br /&gt;&lt;br /&gt;See attached image.&lt;br /&gt;</description><author>ldubois</author><pubDate>Mon, 18 Apr 2011 13:14:02 GMT</pubDate><guid isPermaLink="false">Created Issue: Project reference doesn't work correctly if referenced project is in a solution folder [10801] 20110418011402P</guid></item><item><title>Commented Issue: Delete Key is not supported for Project FileNode and FolderNodes [10029]</title><link>http://mpfproj10.codeplex.com/workitem/10029</link><description>Requirement&amp;#58; &lt;br /&gt;      Pressing Del key when the focus is in FileNode&amp;#47;FolderNode at Solution Explorer shall remove the selected item from the project and delete the item from physical disk.&lt;br /&gt;&lt;br /&gt;Modifications done to MPF source to accomplish the above behavior&amp;#58;&lt;br /&gt;&lt;br /&gt;Uncomment the following line in the QueryStatusOnNode override of FileNode&lt;br /&gt;&amp;#47;&amp;#47;case VsCommands.Delete&amp;#58; goto case VsCommands.OpenWith&amp;#59;&lt;br /&gt;&lt;br /&gt;Note&amp;#58; IVsHierarchyDeleteHandler is implemented in HierarchyNode&lt;br /&gt;&lt;br /&gt;Added the following piece of code in ExecCommandOnNode implementation of FileNode.cs&lt;br /&gt;&lt;br /&gt;    if&amp;#40;cmdGroup &amp;#61;&amp;#61; VsMenus.guidStandardCommandSet97&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;         case VsCommands.Delete&amp;#58;&lt;br /&gt;                MessageBox.Show&amp;#40;&amp;#34;Del Key Pressed&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                return VsConstants.S_OK&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;After building the solution, I can see the delete context menu with &amp;#39;Del&amp;#39; key bonded with the Delete command &amp;#91;possibly cmdiddelete&amp;#93; when i right click the filenode. But pressing the Del key doesn&amp;#39;t show the message box.&lt;br /&gt;&lt;br /&gt;Expected result&amp;#58;&lt;br /&gt;      If Del key is pressed when the focus is at FileNode of Solution Explorer, the message &amp;#34;Del Key Pressed&amp;#34; should popup.&lt;br /&gt;&lt;br /&gt;Actual result&amp;#58;&lt;br /&gt;     The message box &amp;#34;Del key pressed&amp;#34; is not poped up. &lt;br /&gt;&lt;br /&gt;It seems like del key binding has some issues with MPF with respect to FileNode and FolderNode.&lt;br /&gt;&lt;br /&gt;Following are some of the support threads raised in vsx forum,&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;social.msdn.microsoft.com&amp;#47;Forums&amp;#47;en&amp;#47;vsx&amp;#47;thread&amp;#47;1931a5b0-094f-4060-a247-946fb9cda8d8&lt;br /&gt;Comments: ** Comment from web user: tsgd84 ** &lt;p&gt;Yes, that works&amp;#33;&amp;#33;&lt;/p&gt;</description><author>tsgd84</author><pubDate>Thu, 14 Apr 2011 08:48:40 GMT</pubDate><guid isPermaLink="false">Commented Issue: Delete Key is not supported for Project FileNode and FolderNodes [10029] 20110414084840A</guid></item><item><title>Commented Issue: Delete Key is not supported for Project FileNode and FolderNodes [10029]</title><link>http://mpfproj10.codeplex.com/workitem/10029</link><description>Requirement&amp;#58; &lt;br /&gt;      Pressing Del key when the focus is in FileNode&amp;#47;FolderNode at Solution Explorer shall remove the selected item from the project and delete the item from physical disk.&lt;br /&gt;&lt;br /&gt;Modifications done to MPF source to accomplish the above behavior&amp;#58;&lt;br /&gt;&lt;br /&gt;Uncomment the following line in the QueryStatusOnNode override of FileNode&lt;br /&gt;&amp;#47;&amp;#47;case VsCommands.Delete&amp;#58; goto case VsCommands.OpenWith&amp;#59;&lt;br /&gt;&lt;br /&gt;Note&amp;#58; IVsHierarchyDeleteHandler is implemented in HierarchyNode&lt;br /&gt;&lt;br /&gt;Added the following piece of code in ExecCommandOnNode implementation of FileNode.cs&lt;br /&gt;&lt;br /&gt;    if&amp;#40;cmdGroup &amp;#61;&amp;#61; VsMenus.guidStandardCommandSet97&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;         case VsCommands.Delete&amp;#58;&lt;br /&gt;                MessageBox.Show&amp;#40;&amp;#34;Del Key Pressed&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                return VsConstants.S_OK&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;After building the solution, I can see the delete context menu with &amp;#39;Del&amp;#39; key bonded with the Delete command &amp;#91;possibly cmdiddelete&amp;#93; when i right click the filenode. But pressing the Del key doesn&amp;#39;t show the message box.&lt;br /&gt;&lt;br /&gt;Expected result&amp;#58;&lt;br /&gt;      If Del key is pressed when the focus is at FileNode of Solution Explorer, the message &amp;#34;Del Key Pressed&amp;#34; should popup.&lt;br /&gt;&lt;br /&gt;Actual result&amp;#58;&lt;br /&gt;     The message box &amp;#34;Del key pressed&amp;#34; is not poped up. &lt;br /&gt;&lt;br /&gt;It seems like del key binding has some issues with MPF with respect to FileNode and FolderNode.&lt;br /&gt;&lt;br /&gt;Following are some of the support threads raised in vsx forum,&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;social.msdn.microsoft.com&amp;#47;Forums&amp;#47;en&amp;#47;vsx&amp;#47;thread&amp;#47;1931a5b0-094f-4060-a247-946fb9cda8d8&lt;br /&gt;Comments: ** Comment from web user: lesta ** &lt;p&gt;Simply add in the constructor of your ProjectNode derived class&amp;#58;&lt;br /&gt;this.CanProjectDeleteItems &amp;#61; true&amp;#59;&lt;/p&gt;</description><author>lesta</author><pubDate>Mon, 11 Apr 2011 08:28:24 GMT</pubDate><guid isPermaLink="false">Commented Issue: Delete Key is not supported for Project FileNode and FolderNodes [10029] 20110411082824A</guid></item><item><title>Created Issue: SingleFileGenerator generates only the first dependent file [10728]</title><link>http://mpfproj10.codeplex.com/workitem/10728</link><description>The method InvokeGenerator&amp;#40;FileNode fileNode&amp;#41; in the class SingleFileGenerator always generate the first file which depends on the main file. Since more than one file could depend on a file we have to fint the correct file to generate. Fix this with the following code&amp;#58;&lt;br /&gt;&lt;br /&gt;while&amp;#40;dependentNode &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    if &amp;#40;dependentNodeName &amp;#61;&amp;#61; &amp;#40;&amp;#40;FileNode&amp;#41;dependentNode&amp;#41;.FileName &amp;#47;&amp;#47; ADDED LE&amp;#58; Lesta you can have more than one file which DependentUpon filenode but only the first one was generated e.g. a &amp;#42;.diagram file and a code file&lt;br /&gt;        &amp;#38;&amp;#38; string.Compare&amp;#40;dependentNode.ItemNode.GetMetadata&amp;#40;ProjectFileConstants.DependentUpon&amp;#41;, fileNode.FileName, StringComparison.OrdinalIgnoreCase&amp;#41; &amp;#61;&amp;#61; 0&amp;#41;&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;dependentNodeName &amp;#61; &amp;#40;&amp;#40;FileNode&amp;#41;dependentNode&amp;#41;.FileName&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;break&amp;#59;&lt;br /&gt;&amp;#9;&amp;#125;&lt;br /&gt;&lt;br /&gt;&amp;#9;dependentNode &amp;#61; dependentNode.NextSibling&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;</description><author>lesta</author><pubDate>Mon, 11 Apr 2011 08:23:22 GMT</pubDate><guid isPermaLink="false">Created Issue: SingleFileGenerator generates only the first dependent file [10728] 20110411082322A</guid></item><item><title>Created Issue: SingleFileGenerator doesen't truncate the generated file in Iso-Shell [10727]</title><link>http://mpfproj10.codeplex.com/workitem/10727</link><description>The Method UpdateGeneratedCodeFile in the class SingleFileGenerator has two bugs&amp;#58;&lt;br /&gt;&lt;br /&gt;1&amp;#41; If it is running in the Iso-Shell the generated file isn&amp;#39;t truncated if it is shorter than befor. You can fix this by changing the line &amp;#40;around line 291&amp;#41; &lt;br /&gt;using &amp;#40;FileStream generatedFileStream &amp;#61; File.Open&amp;#40;filePath, FileMode.OpenOrCreate&amp;#41;&amp;#41;&lt;br /&gt;to&lt;br /&gt;using &amp;#40;FileStream generatedFileStream &amp;#61; File.Open&amp;#40;filePath, FileMode.Create&amp;#41;&amp;#41;&lt;br /&gt;&lt;br /&gt;2&amp;#41; If the generated file is open in visual studio it is &amp;#42;not&amp;#42; generated. I&amp;#39;ll fix it by generating always. To do this I&amp;#39;ll comment out the lines from &amp;#39;if&amp;#40;docData &amp;#33;&amp;#61; IntPtr.Zero&amp;#41;&amp;#39; until the &amp;#39;else&amp;#39; block.&lt;br /&gt;</description><author>lesta</author><pubDate>Mon, 11 Apr 2011 08:18:03 GMT</pubDate><guid isPermaLink="false">Created Issue: SingleFileGenerator doesen't truncate the generated file in Iso-Shell [10727] 20110411081803A</guid></item><item><title>Created Issue: Navigation from Error Task list doesn't work anymore [10537]</title><link>http://mpfproj10.codeplex.com/workitem/10537</link><description>Navigation to a specific line&amp;#47;column in the document that has an error from the build error list doesn&amp;#39;t work anymore.&lt;br /&gt;In the previous version &amp;#40;MPF 9.0&amp;#41; the IDEBuildLogger.cs had a following line during ErrorTask creation&amp;#58;&lt;br /&gt;  task.Navigate &amp;#43;&amp;#61; new EventHandler&amp;#40;NavigateTo&amp;#41;&amp;#59;&lt;br /&gt;and also had the corresponding NavigateTo method implemented. For some reason it is missing in the current MPF 10.0.&lt;br /&gt;</description><author>Xomega</author><pubDate>Sun, 27 Mar 2011 02:12:58 GMT</pubDate><guid isPermaLink="false">Created Issue: Navigation from Error Task list doesn't work anymore [10537] 20110327021258A</guid></item></channel></rss>