C# Class Microsoft.VisualStudio.Project.ProjectNode

Inheritance: HierarchyNode, IVsGetCfgProvider, IVsProject3, IVsAggregatableProject, IVsProjectFlavorCfgProvider, IPersistFileFormat, IVsProjectBuildSystem, IVsBuildPropertyStorage, IVsComponentUser, IVsDependencyProvider, IVsSccProject2, IBuildDependencyUpdate, IProjectEventsListener, IProjectEventsProvider, IReferenceContainerProvider, IVsProjectSpecialFiles
Mostra file Open project: rsdn/nemerle Class Usage Examples

Private Properties

Property Type Description
AddCATIDMapping void
AddDependentFileNodeToNode HierarchyNode
AddFileNodeToNode HierarchyNode
AddFileToMsBuild ProjectElement
AddFolderToMsBuild ProjectElement
AddIndependentFileNode HierarchyNode
AddItemWithSpecific int
Build MSBuildResult
BuildAsync void
BuildPrelude bool
ClonePropertyGroup Microsoft.Build.Construction.ProjectPropertyGroupElement
CloseAllNodes void
CreateMsBuildFileItem ProjectElement
EndBuild void
GetAssemblyName string
GetBaseDirectoryForAddingFiles string
GetBoolAttr bool
GetBoolAttr bool
GetCATIDForType Guid
GetComponentPickerDirectories string
GetConfigByCanonicalName ProjectConfig
GetItemParentNode HierarchyNode
GetMsBuildProperty Microsoft.Build.Execution.ProjectPropertyInstance
GetNestedProjectForHierarchy NestedProjectNode
GetOutputPath string
GetProjectExtensions Microsoft.Build.Construction.ProjectExtensionsElement
GetProjectOptions ProjectOptions
GetWizardCustomParams Array
IPersistFileFormat int
IVsBuildPropertyStorage int
IVsBuildPropertyStorage int
IVsBuildPropertyStorage int
IVsProjectFlavorCfgProvider int
InitSccInfo void
Initialize void
InvokeMsBuild MSBuildResult
IsFrameworkOnMachine bool
Load void
OnAfterProjectOpen void
OnHandleConfigurationRelatedGlobalProperties void
PerformTargetFrameworkCheck bool
PersistXMLFragments void
QueryEditProjectFile bool
RegisterSccProject void
RunWizard VSADDRESULT
SetBuildProject void
SetProjectExtensions void
SetProjectGuidFromProjectFile void
SetSccSettings bool
SetupProjectGlobalPropertiesThatAllProjectSystemsMustSet void
ShowRetargetingDialog bool
TryBeginBuild bool
UnRegisterProject void
VerifySubFolderExists FolderNode
WrapXmlFragment XmlElement

Public Methods

Method Description
AddBuildDependency ( IVsBuildDependency dependency ) : void
AddComponent ( VSADDCOMPOPERATION dwAddCompOperation, uint cComponents, System rgpcsdComponents, System hwndDialog, VSADDCOMPRESULT pResult ) : int

Add Components to the Project. Used by the environment to add components specified by the user in the Component Selector dialog to the specified project

AddFileFromTemplate ( string source, string target ) : void

Called to add a file to the project from a template. Override to do it yourself if you want to customize the file

AddItem ( uint itemIdLoc, VSADDITEMOPERATION op, string itemName, uint filesToOpen, string files, IntPtr dlgOwner, VSADDRESULT result ) : int
AddProjectReference ( ) : int

Override this method if you want to modify the behavior of the Add Reference dialog By example you could change which pages are visible and which is visible by default.

Build ( string target ) : MSBuildResult

Overloaded method. Invokes MSBuild using the default configuration and does without logging on the output window pane.

Build ( string target, IVsOutputWindowPane output ) : MSBuildResult

Overloaded method. Invokes MSBuild using the default configuration.

Build ( string config, IVsOutputWindowPane output, string target ) : MSBuildResult

Overloaded method to invoke MSBuild

Build ( string config, string target ) : MSBuildResult

Overloaded method to invoke MSBuild. Does not log build results to the output window pane.

BuildTarget ( string targetName, bool &success ) : int
CallMSBuild ( string target ) : MSBuildResult

Calls MSBuild if it is not suspended. Does not log and uses current configuration. If it is suspended then it will remeber to call when msbuild is resumed.

CallMSBuild ( string target, IVsOutputWindowPane output ) : MSBuildResult

Calls MSBuild if it is not suspended. Uses current configuration. If it is suspended then it will remeber to call when msbuild is resumed.

CallMSBuild ( string config, IVsOutputWindowPane output, string target ) : MSBuildResult

Calls MSBuild if it is not suspended. If it is suspended then it will remember to call when msbuild is resumed.

CallMSBuild ( string config, string target ) : MSBuildResult

Overloaded method. Calls MSBuild if it is not suspended. Does not log on the outputwindow. If it is suspended then it will remeber to call when msbuild is resumed.

CancelBatchEdit ( ) : int
Close ( ) : int

Closes the project node.

CreateFileNode ( ProjectElement item ) : FileNode

Create a file node based on an msbuild item.

CreateFileNode ( string file ) : FileNode

Create a file node based on a string.

CreateFolderNodes ( string path ) : HierarchyNode

Walks the subpaths of a project relative path and checks if the folder nodes hierarchy is already there, if not creates it.

CreateProjectOptions ( ) : ProjectOptions

Override this method if you have your own project specific subclass of ProjectOptions

EndBatchEdit ( ) : int
EnumDependencies ( IVsEnumDependencies &enumDependencies ) : int
GenerateUniqueItemName ( uint itemIdLoc, string ext, string suggestedRoot, string &itemName ) : int

for now used by add folder. Called on the ROOT, as only the project should need to implement this. for folders, called with parent folder, blank extension and blank suggested root

GetAggregateProjectTypeGuids ( string &projectTypeGuids ) : int

Retrieve the list of project GUIDs that are aggregated together to make this project.

GetAssemblyName ( string config ) : string

Get the assembly name for a give configuration

GetAutomationObject ( ) : object

Gets the automation object for the project node.

GetBuildSystemKind ( uint &kind ) : int

Used to determine the kind of build system, in VS 2005 there's only one defined kind: MSBuild

GetCfgProvider ( IVsCfgProvider &p ) : int
GetClassID ( Guid &clsid ) : int
GetCompiler ( ) : ICodeCompiler

Returns the Compiler associated to the project

GetCurFile ( string &name, uint &formatIndex ) : int
GetFile ( int fileId, uint flags, uint &itemid, string &fileName ) : int

Allows you to query the project for special files and optionally create them.

GetFormatList ( string &formatlist ) : int
GetGuidProperty ( int propid, Guid &guid ) : int

Gets the GUID value of the node.

GetInner ( ) : HierarchyNode

Get the inner object of an aggregated hierarchy

GetItemContext ( uint itemId, Microsoft &psp ) : int
GetMkDocument ( uint itemId, string &mkDoc ) : int

Callback from the additem dialog. Deals with adding new and existing items

GetMkDocument ( ) : string

Gets the moniker for the project node. That is the full path of the project file.

GetOutputAssembly ( string config ) : string

Get output assembly for a specific configuration name

GetOutputPath ( string config ) : string

Get the output path for a specific configuration name

GetProjectElement ( Microsoft.Build.Evaluation item ) : ProjectElement

This method returns new project element based on existing MSBuild item. It does not modify/add project/build hierarchy at all.

GetProjectProperty ( string propertyName ) : string

Get value of Project property

GetProjectProperty ( string propertyName, bool resetCache ) : string

Return the value of a project property

GetProjectPropertyUnevaluated ( string propertyName ) : string

Gets the unevaluated value of a project property.

GetProperty ( int propId ) : object

Gets the properties of the project node.

GetReferenceContainer ( ) : IReferenceContainer

Returns the reference container node.

GetSccFiles ( uint itemid, CALPOLESTR stringsOut, CADWORD flagsOut ) : int

This method is called to determine which files should be placed under source control for a given VSITEMID within this hierarchy.

GetSccSpecialFiles ( uint itemid, string sccFile, CALPOLESTR stringsOut, CADWORD flagsOut ) : int

This method is called to discover special (hidden files) associated with a given VSITEMID within this hierarchy.

This method is called to discover any special or hidden files associated with an item in the project hierarchy. It is called when GetSccFiles returns with the SFF_HasSpecialFiles flag set for any of the files associated with the node.

GetTargetFramework ( string &ppTargetFramework ) : int
InitNew ( uint formatIndex ) : int
InitializeForOuter ( string filename, string location, string name, uint flags, Guid &iid, IntPtr &projectPointer, int &canceled ) : int

This is where the initialization occurs.

IsCodeFile ( string fileName ) : bool

Determines whether a file is a code file.

IsDirty ( int &isDirty ) : int
IsDocumentInProject ( string mkDoc, int &found, VSDOCUMENTPRIORITY pri, uint &itemId ) : int
IsEmbeddedResource ( string fileName ) : bool

Determines whether the given file is a resource file (resx file).

Load ( string fileName, uint mode, int readOnly ) : int
NodeFromItemId ( uint itemId ) : HierarchyNode

Get Node from ItemID.

NodeHasDesigner ( string itemPath ) : bool

Defines if Node has Designer. By default we do not support designers for nodes

OnAggregationComplete ( ) : int

This is called after the project is done initializing the different layer of the aggregations

OnOpenItem ( string fullPathToSourceFile ) : void

Called when the project opens an editor window for the given file

OnTargetFrameworkMonikerChanged ( ProjectOptions options, FrameworkName currentTargetFramework, FrameworkName newTargetFramework ) : void
OpenDependency ( string szDependencyCanonicalName, IVsDependency &dependency ) : int
OpenItem ( uint itemId, Guid &logicalView, IntPtr punkDocDataExisting, IVsWindowFrame &frame ) : int
OpenItemWithSpecific ( uint itemId, uint editorFlags, Guid &editorType, string physicalView, Guid &logicalView, IntPtr docDataExisting, IVsWindowFrame &frame ) : int
PrepareBuild ( string config, bool cleanBuild ) : void

This is called from the main thread before the background build starts. cleanBuild is not part of the vsopts, but passed down as the callpath is differently PrepareBuild mainly creates directories and cleans house if cleanBuild is true

Remove ( bool removeFromStorage ) : void

Removes items from the hierarchy.

RemoveBuildDependency ( IVsBuildDependency dependency ) : void
RemoveItem ( uint reserved, uint itemId, int &result ) : int
ReopenItem ( uint itemId, Guid &editorType, string physicalView, Guid &logicalView, IntPtr docDataExisting, IVsWindowFrame &frame ) : int
ResolveAssemblyPathInTargetFx ( string prgAssemblySpecs, uint cAssembliesToResolve, VsResolvedAssemblyPath prgResolvedAssemblyPaths, uint &pcResolvedAssemblyPaths ) : int
ResumeMSBuild ( string target ) : void

Resumes MSBuild.

ResumeMSBuild ( string config, IVsOutputWindowPane output, string target ) : void

Resumes MSBuild.

ResumeMSBuild ( string config, string target ) : void

Resumes MSBuild.

Save ( string fileToBeSaved, int remember, uint formatIndex ) : int
SaveCompleted ( string filename ) : int
SccGlyphChanged ( int affectedNodes, uint itemidAffectedNodes, VsStateIcon newGlyphs, uint newSccStatus ) : int

This method is called by the source control portion of the environment to inform the project of changes to the source control glyph on various nodes.

SetAggregateProjectTypeGuids ( string projectTypeGuids ) : int

Set the list of GUIDs that are aggregated together to create this project.

SetEditLabel ( string label ) : int

Renames the project node.

SetGuidProperty ( int propid, Guid &guid ) : int

Sets Guid properties for the project node.

SetHostObject ( string targetName, string taskName, object hostObject ) : int
SetInnerProject ( object innerProject ) : int

We are always the inner most part of the aggregation and as such we don't support setting an inner project

SetProjectFileDirty ( bool value ) : void

Set dirty state of project

SetProjectProperty ( string propertyName, string propertyValue ) : void

Set value of project property

SetProperty ( int propid, object value ) : int

Sets the properties for the project node.

SetSccLocation ( string sccProjectName, string sccAuxPath, string sccLocalPath, string sccProvider ) : int

This method is called by the source control portion of the environment when a project is initially added to source control, or to change some of the project's settings.

SetSite ( Microsoft site ) : int

Sets the service provider from which to access the services.

StartBatchEdit ( ) : int
SuspendMSBuild ( ) : void

Suspends MSBuild

TransferItem ( string oldMkDoc, string newMkDoc, IVsWindowFrame frame ) : int

Implements IVsProject3::TransferItem This function is called when an open miscellaneous file is being transferred to our project. The sequence is for the shell to call AddItemWithSpecific and then use TransferItem to transfer the open document to our project.

UpdateTargetFramework ( IVsHierarchy pHier, string currentTargetFramework, string newTargetFramework ) : int
UpgradeProject ( uint grfUpgradeFlags ) : int

Protected Methods

Method Description
AddDependentFileNode ( MSBuild.ProjectItem>.IDictionary subitems, string key ) : HierarchyNode

This add methos adds the "key" item to the hierarchy, potentially adding other subitems in the process This method may recurse if the parent is an other subitem

If the parent node was found we add the dependent item to it otherwise we add the item ignoring the "DependentUpon" metatdata

AddNewFileNodeToHierarchy ( HierarchyNode parentNode, string fileName ) : void

Adds a new file node to the hierarchy.

AddWebReference ( ) : int

Handles the Add web reference command.

AddWizardCustomParams ( HierarchyNode parent, string itemName, string>.Dictionary customParams ) : void
CanDeleteItem ( __VSDELETEITEMOPERATION deleteOperation ) : bool

Get the boolean value for the deletion of a project item

CanOverwriteExistingItem ( string originalFileName, string computedNewFileName ) : int

Determines whether an item can be owerwritten in the hierarchy.

CleanProject ( ) : int

Handles the clean project command.

CompareNodes ( HierarchyNode node1, HierarchyNode node2 ) : int

Used to sort nodes in the hierarchy.

CreateConfigProvider ( ) : ConfigProvider

Factory method for configuration provider

CreateFolderNode ( string path ) : FolderNode

Create FolderNode from Path

CreateFolderNode ( string path, ProjectElement element ) : FolderNode

To support virtual folders, override this method to return your own folder nodes

CreatePropertiesObject ( ) : NodeProperties
CreateReferenceContainerNode ( ) : ReferenceContainerNode

Factory method for reference container node

Dispose ( bool disposing ) : void

Disposes the project node object.

DoMSBuildSubmission ( BuildKind buildKind, string target, string>.Action uiThreadCallback ) : BuildSubmission

Start MSBuild build submission

ExecCommandOnNode ( Guid cmdGroup, uint cmd, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut ) : int

Handles command execution.

FilterItemTypeToBeAddedToHierarchy ( string itemType ) : bool

Filter items that should not be processed as file items. Example: Folders and References.

FlushBuildLoggerContent ( ) : void

Flush any remaining content from build logger. This method is called as part of the callback method passed to the buildsubmission during async build so that results can be printed the the build is fisinshed.

GetConfigurationDependentPropertyPages ( ) : Guid[]

Returns a list of Guids of the configuration dependent property pages. It is called by the GetProperty for VSHPROPID_CfgPropertyPagesCLSIDList property.

GetConfigurationIndependentPropertyPages ( ) : Guid[]

List of Guids of the config independent property pages. It is called by the GetProperty for VSHPROPID_PropertyPagesCLSIDList property.

GetDocumentManager ( ) : DocumentManager

Returns a specific Document manager to handle opening and closing of the Project(Application) Designer if projectdesigner is supported.

GetOutputGroupDescription ( string canonicalName ) : string

Get the description of the given output group.

GetOutputGroupDisplayName ( string canonicalName ) : string

Get the display name of the given output group.

GetOutputGroupNames ( ) : string>>.IList

This is the list of output groups that the configuration object should provide. The first string is the name of the group. The second string is the target name (MSBuild) for that group. To add/remove OutputGroups, simply override this method and edit the list. To get nice display names and description for your groups, override: - GetOutputGroupDisplayName - GetOutputGroupDescription

GetPriorityProjectDesignerPages ( ) : Guid[]

An ordered list of guids of the prefered property pages. See __VSHPROPID.VSHPROPID_PriorityPropertyPagesCLSIDList

GetSelectedNodes ( ) : IList

Gets the list of selected HierarchyNode objects

InitializeProjectProperties ( ) : void

Initialize common project properties with default value if they are empty

The following common project properties are defaulted to projectName (if empty): AssemblyName, Name and RootNamespace. If the project filename is not set then no properties are set

IsCurrentStateASuppressCommandsMode ( ) : bool

Defines whther the current mode of the project is in a supress command mode.

IsFlavorDirty ( ) : int
IsItemTypeFileType ( string type ) : bool

Called by the project to know if the item is a file (that is part of the project) or an intermediate file used by the MSBuild tasks/targets Override this method if your project has more types or different ones

LoadNonBuildInformation ( ) : void

For flavored projects which implement IPersistXMLFragment, load the information now

LoadXmlFragment ( IPersistXMLFragment persistXmlFragment, string configName ) : void

Initialize an object with an XML fragment.

OverwriteExistingItem ( HierarchyNode existingNode ) : void

Handle owerwriting of an existing item in the hierarchy.

ProcessDependentFileNodes ( IList subitemsKeys, MSBuild.ProjectItem>.Dictionary subitems ) : void

Processes dependent filenodes from list of subitems. Multi level supported, but not circular dependencies.

ProcessFiles ( ) : void

Loads file items from the project file into the hierarchy.

ProcessFolders ( ) : void

Loads folders from the project file into the hierarchy.

ProcessReferences ( ) : void

Loads reference items from the project file into the hierarchy.

ProjectNode ( ) : System
QueryStatusOnNode ( Guid cmdGroup, uint cmd, IntPtr pCmdText, QueryStatusResult &result ) : int

Handles command status on the project node. If a command cannot be handled then the base should be called.

Reload ( ) : void

Reload project from project file

RenameProjectFile ( string newFile ) : void

Renames the project file

SaveAs ( string newFileName ) : int

Saves the project file on a new name.

SaveMSBuildProjectFileAs ( string newFileName ) : void

Saves project file related information to the new file name. It also calls msbuild API to save the project file. It is called by the SaveAs method and the SetEditLabel before the project file rename related events are triggered. An implementer can override this method to provide specialized semantics on how the project file is renamed in the msbuild file.

SetBuildConfigurationProperties ( string config ) : void

Set configuration properties for a specific configuration

SetConfiguration ( string configKey ) : void

Set the configuration property in MSBuild. This does not get persisted and is used to evaluate msbuild conditions which are based on the $(Configuration) property.

SetCurrentConfiguration ( ) : void

Set the configuration in MSBuild. This does not get persisted and is used to evaluate msbuild conditions which are based on the $(Configuration) property.

SetOutputLogger ( IVsOutputWindowPane output ) : void

Associate window output pane to the build logger

ShowAllFiles ( ) : int

Handles the shows all objects command.

UnloadProject ( ) : int

Unloads the project.

UpdateSccStateIcons ( ) : void

Recursevily walks the hierarchy nodes and redraws the state icons

Private Methods

Method Description
AddCATIDMapping ( Type type, System.Guid catid ) : void
AddDependentFileNodeToNode ( Microsoft.Build.Evaluation item, HierarchyNode parentNode ) : HierarchyNode

Add a dependent file node to the hierarchy

AddFileNodeToNode ( Microsoft.Build.Evaluation item, HierarchyNode parentNode ) : HierarchyNode

Add a file node to the hierarchy

AddFileToMsBuild ( string file ) : ProjectElement
AddFolderToMsBuild ( string folder ) : ProjectElement
AddIndependentFileNode ( Microsoft.Build.Evaluation item ) : HierarchyNode

Add an item to the hierarchy based on the item path

AddItemWithSpecific ( uint itemIdLoc, VSADDITEMOPERATION op, string itemName, uint filesToOpen, string files, IntPtr dlgOwner, uint editorFlags, Guid &editorType, string physicalView, Guid &logicalView, VSADDRESULT result ) : int
Build ( uint vsopts, string config, IVsOutputWindowPane output, string target ) : MSBuildResult
BuildAsync ( uint vsopts, string config, IVsOutputWindowPane output, string target, string>.Action uiThreadCallback ) : void
BuildPrelude ( IVsOutputWindowPane output ) : bool

Helper for sharing common code between Build() and BuildAsync()

ClonePropertyGroup ( Microsoft.Build.Construction group ) : Microsoft.Build.Construction.ProjectPropertyGroupElement

For internal use only. This creates a copy of an existing configuration and add it to the project. Caller should change the condition on the PropertyGroup. If derived class want to accomplish this, they should call ConfigProvider.AddCfgsOfCfgName() It is expected that in the future MSBuild will have support for this so we don't have to do it manually.

CloseAllNodes ( HierarchyNode node ) : void

Recusively parses the tree and closes all nodes.

CreateMsBuildFileItem ( string file, string itemType ) : ProjectElement
EndBuild ( BuildSubmission submission, bool designTime, bool requiresUIThread = false ) : void

Lets Visual Studio know that we're done with our design-time build so others can use the build manager.

This method must be called on the UI thread.

GetAssemblyName ( Microsoft.Build.Execution properties ) : string
GetBaseDirectoryForAddingFiles ( HierarchyNode nodeToAddFile ) : string

Given a node determines what is the directory that can accept files. If the node is a FoldeNode than it is the Url of the Folder. If the node is a ProjectNode it is the project folder. Otherwise (such as FileNode subitem) it delegate the resolution to the parent node.

GetBoolAttr ( Microsoft.Build.Execution properties, string name ) : bool
GetBoolAttr ( string config, string name ) : bool
GetCATIDForType ( Type type ) : Guid
GetComponentPickerDirectories ( ) : string
GetConfigByCanonicalName ( string configCanonicalName ) : ProjectConfig
GetItemParentNode ( Microsoft.Build.Evaluation item ) : HierarchyNode

Get the parent node of an msbuild item

GetMsBuildProperty ( string propertyName, bool resetCache ) : Microsoft.Build.Execution.ProjectPropertyInstance
GetNestedProjectForHierarchy ( IVsHierarchy hierarchy ) : NestedProjectNode

Checks whether a hierarchy is a nested project.

GetOutputPath ( Microsoft.Build.Execution properties ) : string
GetProjectExtensions ( ) : Microsoft.Build.Construction.ProjectExtensionsElement

Get the project extensions

GetProjectOptions ( string config = null ) : ProjectOptions
GetWizardCustomParams ( HierarchyNode parent, string itemName ) : Array
IPersistFileFormat ( Guid &clsid ) : int
IVsBuildPropertyStorage ( string propertyName, string configName, uint storage ) : int

Delete a property In our case this simply mean defining it as null

IVsBuildPropertyStorage ( string propertyName, string configCanonicalName, uint storage, string &propertyValue ) : int

Get the value of the property in the project file

IVsBuildPropertyStorage ( uint item, string attributeName, string &attributeValue ) : int

Get the property of an item

IVsProjectFlavorCfgProvider ( IVsCfg pBaseProjectCfg, IVsProjectFlavorCfg &ppFlavorCfg ) : int
InitSccInfo ( ) : void

Sets the scc info from the project file.

Initialize ( ) : void

Initialize projectNode

InvokeMsBuild ( string target ) : MSBuildResult
IsFrameworkOnMachine ( ) : bool
Load ( string fileName, string location, string name, uint flags, Guid &iidProject, int &canceled ) : void
OnAfterProjectOpen ( object sender, AfterProjectFileOpenedEventArgs e ) : void
OnHandleConfigurationRelatedGlobalProperties ( object sender, ActiveConfigurationChangedEventArgs eventArgs ) : void
PerformTargetFrameworkCheck ( ) : bool
PersistXMLFragments ( ) : void
QueryEditProjectFile ( bool suppressUI ) : bool

Verify if the file can be written to. Return false if the file is read only and/or not checked out and the user did not give permission to change it. Note that exact behavior can also be affected based on the SCC settings under Tools->Options.

RegisterSccProject ( ) : void
RunWizard ( HierarchyNode parentNode, string itemName, string wizardToRun, IntPtr dlgOwner ) : VSADDRESULT
SetBuildProject ( Microsoft.Build.Evaluation project ) : void

Set the build project with the new project instance value

SetProjectExtensions ( string id, string xmlText ) : void

Set the xmlText as a project extension element with the id passed.

SetProjectGuidFromProjectFile ( ) : void

Sets the project guid from the project file. If no guid is found a new one is created and assigne for the instance project guid.

SetSccSettings ( string sccProjectName, string sccLocalPath, string sccAuxPath, string sccProvider ) : bool

Updates our scc project settings.

SetupProjectGlobalPropertiesThatAllProjectSystemsMustSet ( ) : void

Setup the global properties for project instance.

ShowRetargetingDialog ( ) : bool

TryBeginBuild ( bool designTime, bool requiresUIThread = false ) : bool

Attempts to lock in the privilege of running a build in Visual Studio.

This method must be called on the UI thread.

UnRegisterProject ( ) : void
VerifySubFolderExists ( string path, HierarchyNode parent ) : FolderNode
WrapXmlFragment ( XmlDocument document, XmlElement root, Guid flavor, string configuration, string fragment ) : XmlElement

Method Details

AddBuildDependency() public method

public AddBuildDependency ( IVsBuildDependency dependency ) : void
dependency IVsBuildDependency
return void

AddComponent() public method

Add Components to the Project. Used by the environment to add components specified by the user in the Component Selector dialog to the specified project
public AddComponent ( VSADDCOMPOPERATION dwAddCompOperation, uint cComponents, System rgpcsdComponents, System hwndDialog, VSADDCOMPRESULT pResult ) : int
dwAddCompOperation VSADDCOMPOPERATION The component operation to be performed.
cComponents uint Number of components to be added
rgpcsdComponents System array of component selector data
hwndDialog System Handle to the component picker dialog
pResult VSADDCOMPRESULT Result to be returned to the caller
return int

AddDependentFileNode() protected method

This add methos adds the "key" item to the hierarchy, potentially adding other subitems in the process This method may recurse if the parent is an other subitem
If the parent node was found we add the dependent item to it otherwise we add the item ignoring the "DependentUpon" metatdata
protected AddDependentFileNode ( MSBuild.ProjectItem>.IDictionary subitems, string key ) : HierarchyNode
subitems MSBuild.ProjectItem>.IDictionary List of subitems not yet added to the hierarchy
key string Key to retrieve the target item from the subitems list
return HierarchyNode

AddFileFromTemplate() public method

Called to add a file to the project from a template. Override to do it yourself if you want to customize the file
public AddFileFromTemplate ( string source, string target ) : void
source string Full path of template file
target string Full path of file once added to the project
return void

AddItem() public method

public AddItem ( uint itemIdLoc, VSADDITEMOPERATION op, string itemName, uint filesToOpen, string files, IntPtr dlgOwner, VSADDRESULT result ) : int
itemIdLoc uint
op VSADDITEMOPERATION
itemName string
filesToOpen uint
files string
dlgOwner IntPtr
result VSADDRESULT
return int

AddNewFileNodeToHierarchy() protected method

Adds a new file node to the hierarchy.
protected AddNewFileNodeToHierarchy ( HierarchyNode parentNode, string fileName ) : void
parentNode HierarchyNode The parent of the new fileNode
fileName string The file name
return void

AddProjectReference() public method

Override this method if you want to modify the behavior of the Add Reference dialog By example you could change which pages are visible and which is visible by default.
public AddProjectReference ( ) : int
return int

AddWebReference() protected method

Handles the Add web reference command.
protected AddWebReference ( ) : int
return int

AddWizardCustomParams() protected method

protected AddWizardCustomParams ( HierarchyNode parent, string itemName, string>.Dictionary customParams ) : void
parent HierarchyNode
itemName string
customParams string>.Dictionary
return void

Build() public method

Overloaded method. Invokes MSBuild using the default configuration and does without logging on the output window pane.
public Build ( string target ) : MSBuildResult
target string
return MSBuildResult

Build() public method

Overloaded method. Invokes MSBuild using the default configuration.
public Build ( string target, IVsOutputWindowPane output ) : MSBuildResult
target string
output IVsOutputWindowPane
return MSBuildResult

Build() public method

Overloaded method to invoke MSBuild
public Build ( string config, IVsOutputWindowPane output, string target ) : MSBuildResult
config string
output IVsOutputWindowPane
target string
return MSBuildResult

Build() public method

Overloaded method to invoke MSBuild. Does not log build results to the output window pane.
public Build ( string config, string target ) : MSBuildResult
config string
target string
return MSBuildResult

BuildTarget() public method

public BuildTarget ( string targetName, bool &success ) : int
targetName string
success bool
return int

CallMSBuild() public method

Calls MSBuild if it is not suspended. Does not log and uses current configuration. If it is suspended then it will remeber to call when msbuild is resumed.
public CallMSBuild ( string target ) : MSBuildResult
target string
return MSBuildResult

CallMSBuild() public method

Calls MSBuild if it is not suspended. Uses current configuration. If it is suspended then it will remeber to call when msbuild is resumed.
public CallMSBuild ( string target, IVsOutputWindowPane output ) : MSBuildResult
target string
output IVsOutputWindowPane
return MSBuildResult

CallMSBuild() public method

Calls MSBuild if it is not suspended. If it is suspended then it will remember to call when msbuild is resumed.
public CallMSBuild ( string config, IVsOutputWindowPane output, string target ) : MSBuildResult
config string
output IVsOutputWindowPane
target string
return MSBuildResult

CallMSBuild() public method

Overloaded method. Calls MSBuild if it is not suspended. Does not log on the outputwindow. If it is suspended then it will remeber to call when msbuild is resumed.
public CallMSBuild ( string config, string target ) : MSBuildResult
config string
target string
return MSBuildResult

CanDeleteItem() protected method

Get the boolean value for the deletion of a project item
protected CanDeleteItem ( __VSDELETEITEMOPERATION deleteOperation ) : bool
deleteOperation __VSDELETEITEMOPERATION A flag that specifies the type of delete operation (delete from storage or remove from project)
return bool

CanOverwriteExistingItem() protected method

Determines whether an item can be owerwritten in the hierarchy.
protected CanOverwriteExistingItem ( string originalFileName, string computedNewFileName ) : int
originalFileName string The orginal filname.
computedNewFileName string The computed new file name, that will be copied to the project directory or into the folder .
return int

CancelBatchEdit() public method

public CancelBatchEdit ( ) : int
return int

CleanProject() protected method

Handles the clean project command.
protected CleanProject ( ) : int
return int

Close() public method

Closes the project node.
public Close ( ) : int
return int

CompareNodes() protected method

Used to sort nodes in the hierarchy.
protected CompareNodes ( HierarchyNode node1, HierarchyNode node2 ) : int
node1 HierarchyNode
node2 HierarchyNode
return int

CreateConfigProvider() protected method

Factory method for configuration provider
protected CreateConfigProvider ( ) : ConfigProvider
return ConfigProvider

CreateFileNode() public method

Create a file node based on an msbuild item.
public CreateFileNode ( ProjectElement item ) : FileNode
item ProjectElement msbuild item
return FileNode

CreateFileNode() public method

Create a file node based on a string.
public CreateFileNode ( string file ) : FileNode
file string filename of the new filenode
return FileNode

CreateFolderNode() protected method

Create FolderNode from Path
protected CreateFolderNode ( string path ) : FolderNode
path string Path to folder
return FolderNode

CreateFolderNode() protected method

To support virtual folders, override this method to return your own folder nodes
protected CreateFolderNode ( string path, ProjectElement element ) : FolderNode
path string Path to store for this folder
element ProjectElement Element corresponding to the folder
return FolderNode

CreateFolderNodes() public method

Walks the subpaths of a project relative path and checks if the folder nodes hierarchy is already there, if not creates it.
public CreateFolderNodes ( string path ) : HierarchyNode
path string
return HierarchyNode

CreateProjectOptions() public method

Override this method if you have your own project specific subclass of ProjectOptions
public CreateProjectOptions ( ) : ProjectOptions
return ProjectOptions

CreatePropertiesObject() protected method

protected CreatePropertiesObject ( ) : NodeProperties
return NodeProperties

CreateReferenceContainerNode() protected method

Factory method for reference container node
protected CreateReferenceContainerNode ( ) : ReferenceContainerNode
return ReferenceContainerNode

Dispose() protected method

Disposes the project node object.
protected Dispose ( bool disposing ) : void
disposing bool Flag determining ehether it was deterministic or non deterministic clean up.
return void

DoMSBuildSubmission() protected method

Start MSBuild build submission
protected DoMSBuildSubmission ( BuildKind buildKind, string target, string>.Action uiThreadCallback ) : BuildSubmission
buildKind BuildKind Is it a Sync or ASync build
target string target to build
uiThreadCallback string>.Action callback to be run UI thread
return BuildSubmission

EndBatchEdit() public method

public EndBatchEdit ( ) : int
return int

EnumDependencies() public method

public EnumDependencies ( IVsEnumDependencies &enumDependencies ) : int
enumDependencies IVsEnumDependencies
return int

ExecCommandOnNode() protected method

Handles command execution.
protected ExecCommandOnNode ( Guid cmdGroup, uint cmd, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut ) : int
cmdGroup Guid Unique identifier of the command group
cmd uint The command to be executed.
nCmdexecopt uint Values describe how the object should execute the command.
pvaIn IntPtr Pointer to a VARIANTARG structure containing input arguments. Can be NULL
pvaOut IntPtr VARIANTARG structure to receive command output. Can be NULL.
return int

FilterItemTypeToBeAddedToHierarchy() protected method

Filter items that should not be processed as file items. Example: Folders and References.
protected FilterItemTypeToBeAddedToHierarchy ( string itemType ) : bool
itemType string
return bool

FlushBuildLoggerContent() protected method

Flush any remaining content from build logger. This method is called as part of the callback method passed to the buildsubmission during async build so that results can be printed the the build is fisinshed.
protected FlushBuildLoggerContent ( ) : void
return void

GenerateUniqueItemName() public method

for now used by add folder. Called on the ROOT, as only the project should need to implement this. for folders, called with parent folder, blank extension and blank suggested root
public GenerateUniqueItemName ( uint itemIdLoc, string ext, string suggestedRoot, string &itemName ) : int
itemIdLoc uint
ext string
suggestedRoot string
itemName string
return int

GetAggregateProjectTypeGuids() public method

Retrieve the list of project GUIDs that are aggregated together to make this project.
public GetAggregateProjectTypeGuids ( string &projectTypeGuids ) : int
projectTypeGuids string Semi colon separated list of Guids. Typically, the last GUID would be the GUID of the base project factory
return int

GetAssemblyName() public method

Get the assembly name for a give configuration
public GetAssemblyName ( string config ) : string
config string the matching configuration in the msbuild file
return string

GetAutomationObject() public method

Gets the automation object for the project node.
public GetAutomationObject ( ) : object
return object

GetBuildSystemKind() public method

Used to determine the kind of build system, in VS 2005 there's only one defined kind: MSBuild
public GetBuildSystemKind ( uint &kind ) : int
kind uint
return int

GetCfgProvider() public method

public GetCfgProvider ( IVsCfgProvider &p ) : int
p IVsCfgProvider
return int

GetClassID() public method

public GetClassID ( Guid &clsid ) : int
clsid Guid
return int

GetCompiler() public method

Returns the Compiler associated to the project
public GetCompiler ( ) : ICodeCompiler
return ICodeCompiler

GetConfigurationDependentPropertyPages() protected method

Returns a list of Guids of the configuration dependent property pages. It is called by the GetProperty for VSHPROPID_CfgPropertyPagesCLSIDList property.
protected GetConfigurationDependentPropertyPages ( ) : Guid[]
return Guid[]

GetConfigurationIndependentPropertyPages() protected method

List of Guids of the config independent property pages. It is called by the GetProperty for VSHPROPID_PropertyPagesCLSIDList property.
protected GetConfigurationIndependentPropertyPages ( ) : Guid[]
return Guid[]

GetCurFile() public method

public GetCurFile ( string &name, uint &formatIndex ) : int
name string
formatIndex uint
return int

GetDocumentManager() protected method

Returns a specific Document manager to handle opening and closing of the Project(Application) Designer if projectdesigner is supported.
protected GetDocumentManager ( ) : DocumentManager
return DocumentManager

GetFile() public method

Allows you to query the project for special files and optionally create them.
public GetFile ( int fileId, uint flags, uint &itemid, string &fileName ) : int
fileId int __PSFFILEID of the file
flags uint __PSFFLAGS flags for the file
itemid uint The itemid of the node in the hierarchy
fileName string The file name of the special file.
return int

GetFormatList() public method

public GetFormatList ( string &formatlist ) : int
formatlist string
return int

GetGuidProperty() public method

Gets the GUID value of the node.
public GetGuidProperty ( int propid, Guid &guid ) : int
propid int A __VSHPROPID or __VSHPROPID2 value of the guid property
guid Guid The guid to return for the property.
return int

GetInner() public method

Get the inner object of an aggregated hierarchy
public GetInner ( ) : HierarchyNode
return HierarchyNode

GetItemContext() public method

public GetItemContext ( uint itemId, Microsoft &psp ) : int
itemId uint
psp Microsoft
return int

GetMkDocument() public method

Callback from the additem dialog. Deals with adding new and existing items
public GetMkDocument ( uint itemId, string &mkDoc ) : int
itemId uint
mkDoc string
return int

GetMkDocument() public method

Gets the moniker for the project node. That is the full path of the project file.
public GetMkDocument ( ) : string
return string

GetOutputAssembly() public method

Get output assembly for a specific configuration name
public GetOutputAssembly ( string config ) : string
config string Name of configuration
return string

GetOutputGroupDescription() protected method

Get the description of the given output group.
protected GetOutputGroupDescription ( string canonicalName ) : string
canonicalName string Canonical name of the output group
return string

GetOutputGroupDisplayName() protected method

Get the display name of the given output group.
protected GetOutputGroupDisplayName ( string canonicalName ) : string
canonicalName string Canonical name of the output group
return string

GetOutputGroupNames() protected method

This is the list of output groups that the configuration object should provide. The first string is the name of the group. The second string is the target name (MSBuild) for that group. To add/remove OutputGroups, simply override this method and edit the list. To get nice display names and description for your groups, override: - GetOutputGroupDisplayName - GetOutputGroupDescription
protected GetOutputGroupNames ( ) : string>>.IList
return string>>.IList

GetOutputPath() public method

Get the output path for a specific configuration name
public GetOutputPath ( string config ) : string
config string name of configuration
return string

GetPriorityProjectDesignerPages() protected method

An ordered list of guids of the prefered property pages. See __VSHPROPID.VSHPROPID_PriorityPropertyPagesCLSIDList
protected GetPriorityProjectDesignerPages ( ) : Guid[]
return Guid[]

GetProjectElement() public method

This method returns new project element based on existing MSBuild item. It does not modify/add project/build hierarchy at all.
public GetProjectElement ( Microsoft.Build.Evaluation item ) : ProjectElement
item Microsoft.Build.Evaluation MSBuild item instance
return ProjectElement

GetProjectProperty() public method

Get value of Project property
public GetProjectProperty ( string propertyName ) : string
propertyName string Name of Property to retrieve
return string

GetProjectProperty() public method

Return the value of a project property
public GetProjectProperty ( string propertyName, bool resetCache ) : string
propertyName string Name of the property to get
resetCache bool True to avoid using the cache
return string

GetProjectPropertyUnevaluated() public method

Gets the unevaluated value of a project property.
public GetProjectPropertyUnevaluated ( string propertyName ) : string
propertyName string The name of the property to retrieve.
return string

GetProperty() public method

Gets the properties of the project node.
public GetProperty ( int propId ) : object
propId int The __VSHPROPID of the property.
return object

GetReferenceContainer() public method

Returns the reference container node.
public GetReferenceContainer ( ) : IReferenceContainer
return IReferenceContainer

GetSccFiles() public method

This method is called to determine which files should be placed under source control for a given VSITEMID within this hierarchy.
public GetSccFiles ( uint itemid, CALPOLESTR stringsOut, CADWORD flagsOut ) : int
itemid uint Identifier for the VSITEMID being queried.
stringsOut CALPOLESTR Pointer to an array of CALPOLESTR strings containing the file names for this item.
flagsOut CADWORD Pointer to a CADWORD array of flags stored in DWORDs indicating that some of the files have special behaviors.
return int

GetSccSpecialFiles() public method

This method is called to discover special (hidden files) associated with a given VSITEMID within this hierarchy.
This method is called to discover any special or hidden files associated with an item in the project hierarchy. It is called when GetSccFiles returns with the SFF_HasSpecialFiles flag set for any of the files associated with the node.
public GetSccSpecialFiles ( uint itemid, string sccFile, CALPOLESTR stringsOut, CADWORD flagsOut ) : int
itemid uint Identifier for the VSITEMID being queried.
sccFile string One of the files associated with the node
stringsOut CALPOLESTR Pointer to an array of CALPOLESTR strings containing the file names for this item.
flagsOut CADWORD Pointer to a CADWORD array of flags stored in DWORDs indicating that some of the files have special behaviors.
return int

GetSelectedNodes() protected method

Gets the list of selected HierarchyNode objects
protected GetSelectedNodes ( ) : IList
return IList

GetTargetFramework() public method

public GetTargetFramework ( string &ppTargetFramework ) : int
ppTargetFramework string
return int

InitNew() public method

public InitNew ( uint formatIndex ) : int
formatIndex uint
return int

InitializeForOuter() public method

This is where the initialization occurs.
public InitializeForOuter ( string filename, string location, string name, uint flags, Guid &iid, IntPtr &projectPointer, int &canceled ) : int
filename string
location string
name string
flags uint
iid Guid
projectPointer IntPtr
canceled int
return int

InitializeProjectProperties() protected method

Initialize common project properties with default value if they are empty
The following common project properties are defaulted to projectName (if empty): AssemblyName, Name and RootNamespace. If the project filename is not set then no properties are set
protected InitializeProjectProperties ( ) : void
return void

IsCodeFile() public method

Determines whether a file is a code file.
public IsCodeFile ( string fileName ) : bool
fileName string Name of the file to be evaluated
return bool

IsCurrentStateASuppressCommandsMode() protected method

Defines whther the current mode of the project is in a supress command mode.
protected IsCurrentStateASuppressCommandsMode ( ) : bool
return bool

IsDirty() public method

public IsDirty ( int &isDirty ) : int
isDirty int
return int

IsDocumentInProject() public method

public IsDocumentInProject ( string mkDoc, int &found, VSDOCUMENTPRIORITY pri, uint &itemId ) : int
mkDoc string
found int
pri VSDOCUMENTPRIORITY
itemId uint
return int

IsEmbeddedResource() public method

Determines whether the given file is a resource file (resx file).
public IsEmbeddedResource ( string fileName ) : bool
fileName string Name of the file to be evaluated.
return bool

IsFlavorDirty() protected method

protected IsFlavorDirty ( ) : int
return int

IsItemTypeFileType() protected method

Called by the project to know if the item is a file (that is part of the project) or an intermediate file used by the MSBuild tasks/targets Override this method if your project has more types or different ones
protected IsItemTypeFileType ( string type ) : bool
type string Type name
return bool

Load() public method

public Load ( string fileName, uint mode, int readOnly ) : int
fileName string
mode uint
readOnly int
return int

LoadNonBuildInformation() protected method

For flavored projects which implement IPersistXMLFragment, load the information now
protected LoadNonBuildInformation ( ) : void
return void

LoadXmlFragment() protected method

Initialize an object with an XML fragment.
protected LoadXmlFragment ( IPersistXMLFragment persistXmlFragment, string configName ) : void
persistXmlFragment IPersistXMLFragment
configName string Name of the configuration being initialized, null if it is the project
return void

NodeFromItemId() public method

Get Node from ItemID.
public NodeFromItemId ( uint itemId ) : HierarchyNode
itemId uint ItemID for the requested node
return HierarchyNode

NodeHasDesigner() public method

Defines if Node has Designer. By default we do not support designers for nodes
public NodeHasDesigner ( string itemPath ) : bool
itemPath string Path to item to query for designer support
return bool

OnAggregationComplete() public method

This is called after the project is done initializing the different layer of the aggregations
public OnAggregationComplete ( ) : int
return int

OnOpenItem() public method

Called when the project opens an editor window for the given file
public OnOpenItem ( string fullPathToSourceFile ) : void
fullPathToSourceFile string
return void

OnTargetFrameworkMonikerChanged() public method

public OnTargetFrameworkMonikerChanged ( ProjectOptions options, FrameworkName currentTargetFramework, FrameworkName newTargetFramework ) : void
options ProjectOptions
currentTargetFramework FrameworkName
newTargetFramework FrameworkName
return void

OpenDependency() public method

public OpenDependency ( string szDependencyCanonicalName, IVsDependency &dependency ) : int
szDependencyCanonicalName string
dependency IVsDependency
return int

OpenItem() public method

public OpenItem ( uint itemId, Guid &logicalView, IntPtr punkDocDataExisting, IVsWindowFrame &frame ) : int
itemId uint
logicalView Guid
punkDocDataExisting IntPtr
frame IVsWindowFrame
return int

OpenItemWithSpecific() public method

public OpenItemWithSpecific ( uint itemId, uint editorFlags, Guid &editorType, string physicalView, Guid &logicalView, IntPtr docDataExisting, IVsWindowFrame &frame ) : int
itemId uint
editorFlags uint
editorType Guid
physicalView string
logicalView Guid
docDataExisting IntPtr
frame IVsWindowFrame
return int

OverwriteExistingItem() protected method

Handle owerwriting of an existing item in the hierarchy.
protected OverwriteExistingItem ( HierarchyNode existingNode ) : void
existingNode HierarchyNode The node that exists.
return void

PrepareBuild() public method

This is called from the main thread before the background build starts. cleanBuild is not part of the vsopts, but passed down as the callpath is differently PrepareBuild mainly creates directories and cleans house if cleanBuild is true
public PrepareBuild ( string config, bool cleanBuild ) : void
config string
cleanBuild bool
return void

ProcessDependentFileNodes() protected method

Processes dependent filenodes from list of subitems. Multi level supported, but not circular dependencies.
protected ProcessDependentFileNodes ( IList subitemsKeys, MSBuild.ProjectItem>.Dictionary subitems ) : void
subitemsKeys IList List of sub item keys
subitems MSBuild.ProjectItem>.Dictionary
return void

ProcessFiles() protected method

Loads file items from the project file into the hierarchy.
protected ProcessFiles ( ) : void
return void

ProcessFolders() protected method

Loads folders from the project file into the hierarchy.
protected ProcessFolders ( ) : void
return void

ProcessReferences() protected method

Loads reference items from the project file into the hierarchy.
protected ProcessReferences ( ) : void
return void

ProjectNode() protected method

protected ProjectNode ( ) : System
return System

QueryStatusOnNode() protected method

Handles command status on the project node. If a command cannot be handled then the base should be called.
protected QueryStatusOnNode ( Guid cmdGroup, uint cmd, IntPtr pCmdText, QueryStatusResult &result ) : int
cmdGroup Guid A unique identifier of the command group. The pguidCmdGroup parameter can be NULL to specify the standard group.
cmd uint The command to query status for.
pCmdText IntPtr Pointer to an OLECMDTEXT structure in which to return the name and/or status information of a single command. Can be NULL to indicate that the caller does not require this information.
result QueryStatusResult An out parameter specifying the QueryStatusResult of the command.
return int

Reload() protected method

Reload project from project file
protected Reload ( ) : void
return void

Remove() public method

Removes items from the hierarchy.
public Remove ( bool removeFromStorage ) : void
removeFromStorage bool
return void

RemoveBuildDependency() public method

public RemoveBuildDependency ( IVsBuildDependency dependency ) : void
dependency IVsBuildDependency
return void

RemoveItem() public method

public RemoveItem ( uint reserved, uint itemId, int &result ) : int
reserved uint
itemId uint
result int
return int

RenameProjectFile() protected method

Renames the project file
protected RenameProjectFile ( string newFile ) : void
newFile string The full path of the new project file.
return void

ReopenItem() public method

public ReopenItem ( uint itemId, Guid &editorType, string physicalView, Guid &logicalView, IntPtr docDataExisting, IVsWindowFrame &frame ) : int
itemId uint
editorType Guid
physicalView string
logicalView Guid
docDataExisting IntPtr
frame IVsWindowFrame
return int

ResolveAssemblyPathInTargetFx() public method

public ResolveAssemblyPathInTargetFx ( string prgAssemblySpecs, uint cAssembliesToResolve, VsResolvedAssemblyPath prgResolvedAssemblyPaths, uint &pcResolvedAssemblyPaths ) : int
prgAssemblySpecs string
cAssembliesToResolve uint
prgResolvedAssemblyPaths VsResolvedAssemblyPath
pcResolvedAssemblyPaths uint
return int

ResumeMSBuild() public method

Resumes MSBuild.
public ResumeMSBuild ( string target ) : void
target string
return void

ResumeMSBuild() public method

Resumes MSBuild.
public ResumeMSBuild ( string config, IVsOutputWindowPane output, string target ) : void
config string
output IVsOutputWindowPane
target string
return void

ResumeMSBuild() public method

Resumes MSBuild.
public ResumeMSBuild ( string config, string target ) : void
config string
target string
return void

Save() public method

public Save ( string fileToBeSaved, int remember, uint formatIndex ) : int
fileToBeSaved string
remember int
formatIndex uint
return int

SaveAs() protected method

Saves the project file on a new name.
protected SaveAs ( string newFileName ) : int
newFileName string The new name of the project file.
return int

SaveCompleted() public method

public SaveCompleted ( string filename ) : int
filename string
return int

SaveMSBuildProjectFileAs() protected method

Saves project file related information to the new file name. It also calls msbuild API to save the project file. It is called by the SaveAs method and the SetEditLabel before the project file rename related events are triggered. An implementer can override this method to provide specialized semantics on how the project file is renamed in the msbuild file.
protected SaveMSBuildProjectFileAs ( string newFileName ) : void
newFileName string The new full path of the project file
return void

SccGlyphChanged() public method

This method is called by the source control portion of the environment to inform the project of changes to the source control glyph on various nodes.
public SccGlyphChanged ( int affectedNodes, uint itemidAffectedNodes, VsStateIcon newGlyphs, uint newSccStatus ) : int
affectedNodes int Count of changed nodes.
itemidAffectedNodes uint An array of VSITEMID identifiers of the changed nodes.
newGlyphs VsStateIcon An array of VsStateIcon glyphs representing the new state of the corresponding item in rgitemidAffectedNodes.
newSccStatus uint An array of status flags from SccStatus corresponding to rgitemidAffectedNodes.
return int

SetAggregateProjectTypeGuids() public method

Set the list of GUIDs that are aggregated together to create this project.
public SetAggregateProjectTypeGuids ( string projectTypeGuids ) : int
projectTypeGuids string Semi-colon separated list of GUIDs, the last one is usually the project factory of the base project factory
return int

SetBuildConfigurationProperties() protected method

Set configuration properties for a specific configuration
protected SetBuildConfigurationProperties ( string config ) : void
config string configuration name
return void

SetConfiguration() protected method

Set the configuration property in MSBuild. This does not get persisted and is used to evaluate msbuild conditions which are based on the $(Configuration) property.
protected SetConfiguration ( string configKey ) : void
configKey string Configuration name
return void

SetCurrentConfiguration() protected method

Set the configuration in MSBuild. This does not get persisted and is used to evaluate msbuild conditions which are based on the $(Configuration) property.
protected SetCurrentConfiguration ( ) : void
return void

SetEditLabel() public method

Renames the project node.
public SetEditLabel ( string label ) : int
label string The new name
return int

SetGuidProperty() public method

Sets Guid properties for the project node.
public SetGuidProperty ( int propid, Guid &guid ) : int
propid int A __VSHPROPID or __VSHPROPID2 value of the guid property
guid Guid The guid value to set.
return int

SetHostObject() public method

public SetHostObject ( string targetName, string taskName, object hostObject ) : int
targetName string
taskName string
hostObject object
return int

SetInnerProject() public method

We are always the inner most part of the aggregation and as such we don't support setting an inner project
public SetInnerProject ( object innerProject ) : int
innerProject object
return int

SetOutputLogger() protected method

Associate window output pane to the build logger
protected SetOutputLogger ( IVsOutputWindowPane output ) : void
output IVsOutputWindowPane
return void

SetProjectFileDirty() public method

Set dirty state of project
public SetProjectFileDirty ( bool value ) : void
value bool boolean value indicating dirty state
return void

SetProjectProperty() public method

Set value of project property
public SetProjectProperty ( string propertyName, string propertyValue ) : void
propertyName string Name of property
propertyValue string Value of property
return void

SetProperty() public method

Sets the properties for the project node.
public SetProperty ( int propid, object value ) : int
propid int Identifier of the hierarchy property. For a list of propid values,
value object The value to set.
return int

SetSccLocation() public method

This method is called by the source control portion of the environment when a project is initially added to source control, or to change some of the project's settings.
public SetSccLocation ( string sccProjectName, string sccAuxPath, string sccLocalPath, string sccProvider ) : int
sccProjectName string String, opaque to the project, that identifies the project location on the server. Persist this string in the project file.
sccAuxPath string String, opaque to the project, that identifies the local path to the project. Persist this string in the project file.
sccLocalPath string String, opaque to the project, that identifies the path to the server. Persist this string in the project file.
sccProvider string String, opaque to the project, that identifies the source control package. Persist this string in the project file.
return int

SetSite() public method

Sets the service provider from which to access the services.
public SetSite ( Microsoft site ) : int
site Microsoft An instance to an Microsoft.VisualStudio.OLE.Interop object
return int

ShowAllFiles() protected method

Handles the shows all objects command.
protected ShowAllFiles ( ) : int
return int

StartBatchEdit() public method

public StartBatchEdit ( ) : int
return int

SuspendMSBuild() public method

Suspends MSBuild
public SuspendMSBuild ( ) : void
return void

TransferItem() public method

Implements IVsProject3::TransferItem This function is called when an open miscellaneous file is being transferred to our project. The sequence is for the shell to call AddItemWithSpecific and then use TransferItem to transfer the open document to our project.
public TransferItem ( string oldMkDoc, string newMkDoc, IVsWindowFrame frame ) : int
oldMkDoc string Old document name
newMkDoc string New document name
frame IVsWindowFrame Optional frame if the document is open
return int

UnloadProject() protected method

Unloads the project.
protected UnloadProject ( ) : int
return int

UpdateSccStateIcons() protected method

Recursevily walks the hierarchy nodes and redraws the state icons
protected UpdateSccStateIcons ( ) : void
return void

UpdateTargetFramework() public method

public UpdateTargetFramework ( IVsHierarchy pHier, string currentTargetFramework, string newTargetFramework ) : int
pHier IVsHierarchy
currentTargetFramework string
newTargetFramework string
return int

UpgradeProject() public method

public UpgradeProject ( uint grfUpgradeFlags ) : int
grfUpgradeFlags uint
return int