NAnt.VSNetTasks Analyses Microsoft Visual Studio .NET 2003 (Everett) solution files. Gets the project file of the project with the given unique identifier. The unique identifier of the project for which the project file should be retrieves. The project file of the project with the given unique identifier. No project with unique identifier could be located. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to be logged. The actual logging is delegated to the underlying task. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to log, containing zero or more format items. An array containing zero or more objects to format. The actual logging is delegated to the underlying task. Loads the projects from the file system and stores them in an instance variable. instance to use to determine whether an assembly is located in the Global Assembly Cache. instance to use to determine location and references of assemblies. TODO A project GUID in the solution file does not match the actual GUID of the project in the project file. Translates a project path, in the form of a relative file path or a URL, to an absolute file path. The directory of the solution. The project path to translate to an absolute file path. The project path translated to an absolute file path. Converts assembly references to projects to project references, adding a build dependency.c The to analyze. The solution configuration that is built. containing list of projects that have been built. containing list of projects that failed to build. Determines whether any of the project dependencies of the specified project still needs to be built. The to analyze. containing list of projects that have been built. if one of the project dependencies has not yet been built; otherwise, . Returns a number representing how much this file fits this project type. This enables the override in other providers. Do not return big numbers, mainly when compring only on filename. Analyses Microsoft Visual Studio .NET 2002 (Rainier) solution files. Compiles VS.NET solutions (or sets of projects), automatically determining project dependencies from inter-project references. This task support the following projects: Visual Basic .NET Visual C# .NET Visual J# .NET Visual C++ .NET Right now, only Microsoft Visual Studio .NET 2002 and 2003 solutions and projects are supported. Support for .NET Compact Framework projects is also not available at this time. The also supports the model of referencing projects by their output filenames, rather than referencing them inside the solution. It will automatically detect the existance of a file reference and convert it to a project reference. For example, if project "A" references the file in the release output directory of project "B", the will automatically convert this to a project dependency on project "B" and will reference the appropriate configuration output directory at the final build time (ie: reference the debug version of "B" if the solution is built as debug). The expects all project files to be valid XML files.

Resx Files

When building a project for a down-level target framework, special care should be given to resx files. Resx files (can) contain references to a specific version of CLR types, and as such are only upward compatible. For example: if you want to be able to build a project both as a .NET 1.0 and .NET 1.1 assembly, the resx files should only contain references to .NET 1.0 CLR types. Failure to do this may result in a failure at runtime on machines with only the .NET Framework 1.0 installed.
Compiles all of the projects in test.sln, in release mode, in the proper order. ]]> Compiles all of the projects in projects.txt, in the proper order. ]]> Compiles projects A, B and C, using the output of project X as a reference. ]]> Compiles all of the projects in the solution except for project A. ]]> Compiles all of the projects in the solution mapping the specific project at http://localhost/A/A.csproj to c:\inetpub\wwwroot\A\A.csproj and any URLs under http://localhost/B/[remainder] to c:\other\B\[remainder]. This allows the build to work without WebDAV. ]]> Compiles all of the projects in the solution placing compiled outputs in c:\temp. ]]>
Private var containing custom properties. Initializes a new instance of the class. Expands the given macro. The macro to expand. The expanded macro or if the macro is not supported. The macro cannot be expanded. Builds the list of folders that should be scanned for assembly references. The list of folders that should be scanned for assembly references. The projects to build. The projects to scan, but not build. These projects are used to resolve project references and are generally external to the solution being built. References to these project's output files are converted to use the appropriate solution configuration at build time. The name of the VS.NET solution file to build. The can be used instead to supply a list of Visual Studio.NET projects that should be built. The name of the solution configuration to build. Generally release or debug. Not case-sensitive. The name of platform to build the solution for. Gets the solution configuration to build. The directory where compiled targets will be placed. This overrides path settings contained in the solution/project. WebMap of URL's to project references. Fileset of projects to exclude. Set of folders where references are searched when not found in path from project file (HintPath). Includes Visual Studio search folders in reference search path. The default is . Allow the task to use WebDAV for retrieving/compiling the projects within solution. Use of is preferred over WebDAV. The default is . WebDAV support requires permission changes to be made on your project server. These changes may affect the security of the server and should not be applied to a public installation. Consult your web server or the NAnt Wiki documentation for more information. Set of properties set at solution level. Builders for projects in solution may or may not use them. TODO: some documentataion which properties could be defined here. Gets the list of folders to scan for assembly references. The list of folders to scan for assembly references. Defines how the project is using the ATL library. Don't use ATL. Use ATL in a Static Library. Use ATL in a Shared DLL. Defines how the project is using the MFC library. Don't use MFC. Use MFC in a Static Library. Use MFC in a Shared DLL. Indicates the possible ways in which precompiled header file use is specified in a Visual C++ project. The integer values assigned match those specified in the Visual C++ project file for each setting. > Precompiled header file use not specified. Don't use a precompiled header file. For further information on the use of this option see the Microsoft documentation on the C++ compiler flag /Yc. Create precompiled header file. For further information on the use of this option see the Microsoft documentation on the C++ compiler flag /Yc. Automatically create precompiled header file if necessary. For further information on the use of this option see the Microsoft documentation on the C++ compiler flag /Yc. Use a precompiled header file. For further information on the use of this option see the Microsoft documentation on the C++ compiler flag /Yu. Represents a single mapping from URL project path to physical project path. Specifies the URL of the project file, or a URL fragment to match. The URL of the project file or the URL fragment to match. Specifies the actual path to the project file, or the path fragment to replace. The actual path to the project file or the path fragment to replace the URL fragment with. Specifies whether the mapping is case-sensitive or not. A boolean flag representing the case-sensitivity of the mapping. Default is . Indicates if the URL of the project file should be mapped. if the URL of the project file should be mapped; otherwise, . Indicates if the URL of the project file should not be mapped. if the URL of the project file should not be mapped; otherwise, . Contains a strongly typed collection of objects. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Find the best matching for the given Uri. The value to match against the objects in the collection. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a with the specified value is in the collection. The argument value to locate in the collection. if a with value is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified value. The value of the to get. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Gets the output path of the reference, without taking the "copy local" setting into consideration. The solution configuration that is built. The full output path of the reference. Gets the complete set of output files of the reference for the specified configuration. The solution configuration that is built. The set of output files to be updated. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. Gets the complete set of assemblies that need to be referenced when a project references this component. The solution configuration that is built. The complete set of assemblies that need to be referenced when a project references this component. Gets the timestamp of the reference. The solution configuration that is built. The timestamp of the reference. Gets a value indicating whether the reference is managed for the specified configuration. The solution configuration that is built. if the reference is managed for the specified configuration; otherwise, . Returns the date and time the specified file was last written to. The file for which to obtain write date and time information. A structure set to the date and time that the specified file was last written to, or if the specified file does not exist. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to be logged. The actual logging is delegated to the underlying task. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to log, containing zero or more format items. An array containing zero or more objects to format. The actual logging is delegated to the underlying task. Gets a value indicating whether the output file(s) of this reference should be copied locally. if the output file(s) of this reference should be copied locally; otherwise, . Gets a value indicating whether this reference represents a system assembly. if this reference represents a system assembly; otherwise, . Gets the project in which the reference is defined. Gets a value indicating whether the reference is managed for the specified configuration. The build configuration of the reference. . Gets the complete set of output files for the specified assembly and adds them to collection. The path of the assembly to get the output files for. The set of output files to be updated. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. Gets the path of the reference, without taking the "copy local" setting into consideration. The solution configuration that is built. The output path of the reference. Gets the complete set of output files for the referenced project. The solution configuration that is built. The set of output files to be updated. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. Gets the complete set of assemblies that need to be referenced when a project references this component. The solution configuration that is built. The complete set of assemblies that need to be referenced when a project references this component. Gets the timestamp of the reference. The solution configuration that is built. The timestamp of the reference. Resolves an assembly reference. The full path to the resolved assembly, or if the assembly reference could not be resolved. Searches for the given file in all paths in . The folders to search. The file to search for. The path of the assembly if was found in ; otherwise, . Resolves an assembly reference in the framework assembly directory of the target framework. The file to search for. The full path of the assembly file if the assembly could be located in the framework assembly directory; otherwise, . Resolves an assembly reference using a path relative to the project directory. The full path of the assembly, or if is or an empty . Gets a value indicating whether the output file(s) of this reference should be copied locally. if the output file(s) of this reference should be copied locally; otherwise, . Gets a value indicating whether this reference represents a system assembly. if this reference represents a system assembly; otherwise, . Initializes a new instance of the class with the given . The project of the configuration. Expands the given macro. The macro to expand. The expanded macro. The macro is not supported. -or- The macro is not implemented. -or- The macro cannot be expanded. Expansion of a given macro is not yet implemented. Is called each time a regular expression match is found during a operation. The resulting from a single regular expression match during a . The expanded . Gets the project. Gets the name of the configuration. Get the directory in which intermediate build output will be stored for this configuration. This is a directory relative to the project directory named obj\<configuration name>. .resx and .licx files will only be recompiled if the compiled resource files in the are not uptodate. Gets the output directory. Gets the path for the output file. Gets the path in which the output file will be created before its copied to the actual output path. Get the path of the output directory relative to the project directory. Gets the platform that the configuration targets. The platform targeted by the configuration. Gets the set of output files that is specific to the project configuration. The set of output files that is specific to the project configuration. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class with the specified initial capacity. The appropriate number of entries that the can initially contain. Gets the platform that the configuration targets. The platform targeted by the configuration. Gets the path in which the output file will be created before its copied to the actual output path. Gets a value indicating whether to register the project output for use with COM components. if the project output should be registered for use with COM components; otherwise, . Base class for all project classes. Initializes a new instance of the class. Gets the complete set of output files for the project configuration matching the specified solution configuration. The solution configuration that is built. The set of output files to be updated. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. If the project is not configured to be built for the specified solution configuration, then no output files are added. Gets a value indicating whether building the project for the specified build configuration results in managed output. The build configuration. if the project output for the given build configuration is managed; otherwise, . Expands the given macro. The macro to expand. The expanded macro or if the macro is not supported. Returns the Visual Studio product version of the specified project XML fragment. XML fragment representing the project file. The Visual Studio product version of the specified project XML file. The product version could not be determined. -or- The product version is not supported. Verifies whether the specified XML fragment represents a valid project that is supported by this . XML fragment representing the project file. The XML fragment is not supported by this . -or- The XML fragment does not represent a valid project (for this ). Prepares the project for being built. The solution configuration that is built. The default implementation will ensure that none of the output files are marked read-only. Copies the specified file if the destination file does not exist, or the source file has been modified since it was previously copied. The file to copy. The destination file. The in which context the operation will be performed. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to be logged. The actual logging is delegated to the underlying task. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to log, containing zero or more format items. An array containing zero or more objects to format. The actual logging is delegated to the underlying task. Gets the Visual Studio product version of the project. The Visual Studio product version of the project. Gets the name of the VS.NET project. Gets the type of the project. The type of the project. Gets the path of the VS.NET project. Gets the directory containing the VS.NET project. Get the location of the project. Get the directory in which intermediate build output that is not specific to the build configuration will be stored. For projects, this is defined as <Project Directory<\obj. For projects, this is defined as %HOMEPATH%\VSWebCache\<Machine Name>\<Project Directory>\obj. Gets or sets the unique identifier of the VS.NET project. Gets a list of all configurations defined in the project. Gets a list of project configurations that can be build. Project configurations that are not in this list do not need to be compiled. Gets the extra set of output files for the project. The extra set of output files for the project. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. Gets the set of projects that the project depends on. The set of projects that the project depends on. TODO: refactor this !!! Gets a value indicating whether building the project for the specified build configuration results in managed output. The solution configuration that is built. . Prepares the project for being built. The solution configuration that is built. Ensures the configuration-level object directory exists and ensures that none of the output files are marked read-only. Gets the complete set of output files for the project configuration matching the specified solution configuration. The solution configuration that is built. The set of output files to be updated. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. If the project is not configured to be built for the specified solution configuration, then no output files are added. Returns a for launching the compiler for this project. The configuration to build. The response file for the compiler. A for launching the compiler for this project. Returns the project location from the specified project XML fragment. XML fragment representing the project file. The project location of the specified project XML file. The project location could not be determined. -or- The project location is invalid. Gets the absolute path of the type library for the project output. The configuration to build. The absolute path of the type library for the project output. Generates a type library for the specified assembly, registers it. The project configuration that is built. The solution configuration that is built. The path of the type library to generate. The regasm tool is used to generate the type library. Unregister a type library for the specified assembly, and the types in that assembly. The project configuration that is built. The solution configuration that is built. The regasm tool is used to unregister the type library, and remove the COM registration for types in the specified assembly. Returns containing culture-specific resources. A containing culture-specific resources. The key of the is and the value is an instance for that culture. Creates and initializes a instance. An initialized instance. Returns the Visual Studio product version of the specified project XML fragment. XML fragment representing the project to check. The Visual Studio product version of the specified project XML fragment. The product version could not be determined. -or- The product version is not supported. Returns the of the specified project XML fragment. XML fragment representing the project to check. The of the specified project XML fragment. The project location could not be determined. -or- The project location is invalid. Holds a case-insensitive list of source files. The key of the is the full path of the source file and the value is . Gets the default file extension of sources for this project. The default file extension of sources for this project. Gets a value indicating if this is a web project. if this is a web project; otherwise, . If the url of a web project has been mapped to a local path (using the <webmap> element), then this property will return for a project. Gets the name of the VS.NET project. Gets the path of the VS.NET project. Gets the directory containing the VS.NET project. Get the location of the project. Gets or sets the unique identifier of the VS.NET project. Groups a set of instances for a specific culture. Initializes a new instance for the specified culture. A . Gets the intermediate build directory in which the satellite assembly is built. The project build configuration. The intermediate build directory in which the satellite assembly is built. Gets a representing the path to the intermediate file location of the satellite assembly. The project build configuration. The project settings. A representing the path to the intermediate file location of the satellite assembly. Gets path of the satellite assembly, relative to the output directory. The project settings. The path of the satellite assembly, relative to the output directory. Gets the of the . Gets the set of localized resources. Verifies whether the specified XML fragment represents a valid project that is supported by this . XML fragment representing the project file. The XML fragment is not supported by this . -or- The XML fragment does not represent a valid project (for this ). Returns the Visual Studio product version of the specified project XML fragment. The document element of the project. The Visual Studio product version of the specified project XML fragment. The product version could not be determined. -or- The product version is not supported. Returns a for launching the compiler for this project. The configuration to build. The response file for the compiler. A for launching the compiler for this project. Returns the project location from the specified project XML fragment. XML fragment representing the project file. The project location of the specified project XML file. The project location could not be determined. -or- The project location is invalid. Returns a value indicating whether the project represented by the specified XML fragment is supported by . XML fragment representing the project to check. if supports the specified project; otherwise, . A project is identified as as C# project, if the XML fragment at least has the following information: ... ]]> Gets the type of the project. The type of the project. Gets the default file extension of sources for this project. For C# projects, the default file extension is ".cs". Supports grouping of individual projects, and treating them as a solution. Verifies whether the specified XML fragment represents a valid project that is supported by this . XML fragment representing the project file. The XML fragment is not supported by this . -or- The XML fragment does not represent a valid project (for this ). Returns the Visual Studio product version of the specified project XML fragment. The document element of the project. The Visual Studio product version of the specified project XML fragment. The product version could not be determined. -or- The product version is not supported. Prepares the project for being built. The solution configuration that is built. Ensures the configuration-level object directory exists and ensures that none of the output files are marked read-only. Returns a for launching the compiler for this project. The configuration to build. The response file for the compiler. A for launching the compiler for this project. Returns the project location from the specified project XML fragment. XML fragment representing the project file. The project location of the specified project XML file. The project location could not be determined. -or- The project location is invalid. Returns a value indicating whether the project represented by the specified XML fragment is supported by . XML fragment representing the project to check. if supports the specified project; otherwise, . A project is identified as as J# project, if the XML fragment at least has the following information: ... ]]> Gets the type of the project. The type of the project. Gets the default file extension of sources for this project. For J# projects, the default file extension is ".jsl". Resolves an assembly reference. The full path to the resolved assembly, or if the assembly reference could not be resolved. Visual Studio .NET uses the following search mechanism : The project directory. The directories specified in the "ReferencePath" property, which is stored in the .USER file. The .NET Framework directory (see KB306149) The directories specified under the following registry keys: HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders HKCU\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders HKLM\SOFTWARE\Microsoft\VisualStudio\<major version>.<minor version>\AssemblyFolders HKCU\SOFTWARE\Microsoft\VisualStudio\<major version>.<minor version>\AssemblyFolders Future versions of Visual Studio .NET will also check in: HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFoldersEx HKCU\SOFTWARE\Microsoft\.NETFramework\AssemblyFoldersEx The HintPath. Gets the name of the referenced assembly. The name of the referenced assembly, or if the name could not be determined. Gets the Visual Studio .NET AssemblyFolders registry key matching the current target framework. The Visual Studio .NET AssemblyFolders registry key matching the current target framework. The current target framework is not supported. We use the target framework instead of the product version of the containing project file to determine what registry key to scan, as we don't want to use assemblies meant for uplevel framework versions. Indentifies the different output types of a managed project. Visual Studio .NET does not support modules. A class library. A console application. A Windows program. Gets the output path of the reference, without taking the "copy local" setting into consideration. The solution configuration that is built. The output path of the reference. Gets the complete set of output files for the referenced project. The solution configuration that is built. The set of output files to be updated. The complete set of output files for the referenced project. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. Gets the complete set of assemblies that need to be referenced when a project references this project. The solution configuration that is built. The complete set of assemblies that need to be referenced when a project references this project. Apparently, there's some hack in VB.NET that allows a type to be used that derives from a type in an assembly that is not referenced by the project. When building from the command line (using vbc), the following error is reported "error BC30007: Reference required to assembly 'X' containing the base class 'X'. Add one to your project". Somehow VB.NET can workaround this issue, without actually adding a reference to that assembly. I verified this with both VS.NET 2003 and VS.NET 2005. For now, we have no other option than to return all assembly references of the referenced project if the parent is a VB.NET project. Gets the timestamp of the reference. The solution configuration that is built. The timestamp of the reference. Gets a value indicating whether the output file(s) of this reference should be copied locally. if the output file(s) of this reference should be copied locally; otherwise, . Gets a value indicating whether this reference represents a system assembly. as a project by itself can never be a system assembly. Gets a value indicating whether the reference is managed for the specified configuration. The solution configuration that is built. . Gets the path of the reference, without taking the "copy local" setting into consideration. The solution configuration that is built. The output path of the reference. Gets the complete set of output files for the referenced project. The solution configuration that is built. The set of output files to be updated. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. Gets the complete set of assemblies that need to be referenced when a project references this component. The solution configuration that is built. The complete set of assemblies that need to be referenced when a project references this component. Gets the timestamp of the reference. The solution configuration that is built. The timestamp of the reference. Removes wrapper assembly from build directory, if wrapper assembly no longer exists in output directory or is not in sync with build directory, to force rebuild. The project configuration. Gets a value indicating whether the output file(s) of this reference should be copied locally. if the reference wraps a Primary Interop Assembly; otherwise, . Gets a value indicating whether this reference represents a system assembly. as none of the system assemblies are wrappers or Primary Interop Assemblies anyway. Gets the name of the tool that should be used to create the . The name of the tool that should be used to create the . Gets the path of the wrapper assembly. The path of the wrapper assembly. The wrapper assembly is stored in the object directory of the project. Gets a value indicating whether the wrapper assembly has already been created. Gets the path of the Primary Interop Assembly. The path of the Primary Interop Assembly, or if not available. Gets the hex version of the type library as defined in the definition of the reference. The hex version of the type library. Gets the GUID of the type library as defined in the definition of the reference. The GUID of the type library. Gets the locale of the type library in hex notation. The locale of the type library. Gets the name of the type library. The name of the type library. Gets the name of the referenced assembly. The name of the referenced assembly, or if the name could not be determined. Gets the name of the tool that should be used to create the . The name of the tool that should be used to create the . Gets the path of the wrapper assembly. The path of the wrapper assembly. The wrapper assembly is stored in the object directory of the project. Gets the path of the Primary Interop Assembly. The path of the Primary Interop Assembly, or if not available. Gets the hex version of the type library as defined in the definition of the reference. The hex version of the type library. The definition of the reference does not contain a "VersionMajor" attribute. -or The definition of the reference does not contain a "VersionMinor" attribute. Gets the GUID of the type library as defined in the definition of the reference. The GUID of the type library. Gets the locale of the type library in hex notation. The locale of the type library. Specifies the type of the project. A Visual Basic.NET project. A Visual C# project. A Visual C++ project. A Visual J# project. MSBuild project. Specifies the result of the build. The build failed. The build succeeded. The build succeeded and the output was updated. Visual Studio.NET 2002 Visual Studio.NET 2003 Visual Studio 2005 Visual Studio 2008 Visual Studio 2010 Indentifies the physical location of a managed project. A local project. A web project. Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a with the specified GUID is in the collection, using a case-insensitive lookup. The GUID to locate in the collection. if a with GUID is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Remove items with the specified guid from the collection. The guid of the project to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified GUID. The GUID of the to get. Performs a case-insensitive lookup. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Gets or sets the in memory representation of the project. The in memory representation of the project, or if the project is not (yet) loaded. This property will always be for projects that are not supported. Return a mapping between the configurations defined in the solution file and the project build configurations. Mapping between configurations defined in the solution file and the project build configurations, or if the project is not defined in a solution file. This mapping only includes project build configurations that are configured to be built for a given solution configuration. Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a with the specified GUID is in the collection, using a case-insensitive lookup. The GUID to locate in the collection. if a with GUID is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified GUID. The GUID of the to get. Performs a case-insensitive lookup. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Factory class for VS.NET projects. Initializes a new instance of the class. Holds a case-insensitive list of cached projects. The key of the is the path of the project file (for web projects this can be a URL) and the value is a instance. Holds a case-insensitive list of cached project GUIDs. The key of the is the path of the project file (for web projects this can be a URL) and the value is the GUID of the project. Holds a case-insensitive list of cached project GUIDs. The key of the is the path of the project file (for web projects this can be a URL) and the value is the Xml of the project. Determines the output type of the project from its XML definition. The XML definition of the project settings. The output type of the project. The output type of the project is not set in the specified XML definition. -or- The output type of the project is not supported. Gets the project GUID from the given holding a <VisualStudioProject> node. The path of the project file. The <VisualStudioProject> node from which the project GUID should be retrieved. The project GUID from specified <VisualStudioProject> node. Gets the .ico file to use as application icon. The .ico file to use as application icon, or if no application icon should be used. Gets the key file to use to sign ActiveX/COM wrappers. The path of the key file to use to sign ActiveX/COM wrappers, relative to the project root directory, or if the wrapper assembly should not be signed using a key file. Gets the key name to use to sign ActiveX/COM wrappers. The name of the key container to use to sign ActiveX/COM wrappers, or if the wrapper assembly should not be signed using a key container. Gets the output type of this project. Designates when the command line should be run. Possible values are "OnBuildSuccess", "Always" or "OnOutputUpdated". Contains commands to be run before a build takes place. Valid commands are those in a .bat file. For more info see MSDN. Contains commands to be ran after a build has taken place. Valid commands are those in a .bat file. For more info see MSDN. Obtains a lifetime service object to control the lifetime policy for this instance. An object of type used to control the lifetime policy for this instance. This is the current lifetime service object for this instance if one exists; otherwise, a new lifetime service object initialized with a lease that will never time out. Gets the file name of the assembly with the given assembly name. The assembly name of the assembly of which the file name should be returned. The file name of the assembly with the given assembly name. Compiles the resource file. The solution configuration that is built. A representing the compiled resource file. Returns a representing the compiled resource file. The solution configuration that is built. A representing the compiled resource file. Calling this method does not force compilation of the resource file. Gets a representing the physical location of the resource file. Gets a representing the logical location of the resource file in the project. When the resource file is not linked, this matches the . Gets a value indicating whether the resource is in fact a ResX file. if the resource is a ResX file; otherwise, . Factory class for VS.NET solutions. Initializes a new instance of the class. Verifies whether the specified XML fragment represents a valid project that is supported by this . XML fragment representing the project file. The XML fragment is not supported by this . -or- The XML fragment does not represent a valid project (for this ). Returns the Visual Studio product version of the specified project XML fragment. The document element of the project. The Visual Studio product version of the specified project XML fragment. The product version could not be determined. -or- The product version is not supported. This method is called from the ctor, and at that time we're not sure the XML that is passed in, is indeed a valid Visual Basic project. Returns the project location from the specified project XML fragment. XML fragment representing the project file. The project location of the specified project XML file. The project location could not be determined. -or- The project location is invalid. Returns a for launching the compiler for this project. The configuration to build. The response file for the compiler. A for launching the compiler for this project. Returns a value indicating whether the project represented by the specified XML fragment is supported by . XML fragment representing the project to check. if supports the specified project; otherwise, . A project is identified as as Visual Basic project, if the XML fragment at least has the following information: ... ]]> Gets the type of the project. The type of the project. Gets the default file extension of sources for this project. For VB projects, the default file extension is ".vb". A mapping from properties in the .vcproj file to command line arguments. Initializes a new instance of the class. Gets the argument string corresponding with a configuration property named with value . An ignore mask can be used to eliminate some arguments from the search. The name of the configuration property. The value of the configuration property. Specify any groups that needs to be ignored. The argument string corresponding with a configuration property named with value , or if no corresponding argument exists. Creates a mapping between configuration properties for the Visual C++ compiler and corresponding command-line arguments. A mapping between configuration properties for the Visual C++ compiler and corresponding command-line arguments. The following configuration properties are processed by : Category Property General Addtional Include Directories (/I[path]) General Resolve #using References (/AI[path]) Preprocessor Preprocessor Definitions (/D[macro]) Code Generation Enable C++ Exceptions (/EHsc) Precompiled Headers Create/Use Precompiled Header Precompiled Headers Create/Use PCH Through File Precompiled Headers Precompiled Header File Output Files Assembler Output Output Files ASM List Location Browse Information Enable Browse Information Browse Information Browse File Advanced Force Includes (/FI[name]) Advanced Force #using (/FU[name]) Advanced Undefine Preprocessor Definitions (/U[macro]) Creates a mapping between configuration properties for the Visual C++ linker and corresponding command-line arguments. A mapping between configuration properties for the Visual C++ linker and corresponding command-line arguments. The following configuration properties are processed by : Category Property General Output File (/OUT:[file]) General Additional Library Directories (/LIBPATH:[dir]) Input Additional Dependencies Input Add Module to Assembly (/ASSEMBLYMODULE:file) Input Embed Managed Resource File (/ASSEMBLYRESOURCE:file) Debugging Generate Debug Info (/DEBUG) Debugging Generate Program Database File (/PDB:name) Debugging Generate Map File (/MAP) Debugging Map File Name (/MAP:[filename]) System Heap Reserve Size (/HEAP:reserve) System Heap Commit Size (/HEAP:reserve, commit) System Stack Reserve Size (/STACK:reserve) System Stack Commit Size (/STACK:reserve, commit) The following configuration properties are ignored: Category Property General Show Progress (/VERBOSE, /VERBOSE:LIB) General Suppress Startup Banner (/NOLOGO) Support for the following configuration properties still needs to be implemented: Category Property General Ignore Import Library General Register Output Input Delay Loaded DLLs (/DELAYLOAD:[dll_name]) Embedded IDL MIDL Commands (/MIDL:[file]) Gets the name of the command-line argument. The name of the command-line argument. Represents a command-line arguments of which the trailing backslashes in the value should be duplicated. Represents a command-line argument of which the value should be quoted, and of which trailing backslahes should be duplicated. Gets the string that the configuration setting should match in order for the command line argument to be set. Allow us to assign an argument to a specific group. The argument is not assigned to any group. The argument is ignored when the optimization level is set to Minimum Size (1) or Maximum Size (2). Resolves an assembly reference. The full path to the resolved assembly, or if the assembly reference could not be resolved. Is called each time a regular expression match is found during a operation. The resulting from a single regular expression match during a . The expanded . The macro is not supported. Expansion of a given macro is not yet implemented. Gets the name of the referenced assembly. The name of the referenced assembly, or if the name could not be determined. A single build configuration for a Visual C++ project or for a specific file in the project. Expands the given macro. The macro to expand. The expanded macro. The macro is not supported. -or- The macro is not implemented. -or- The macro cannot be expanded. Gets the value of a given setting for a specified tool. The name of the tool. The name of the setting. The value of a setting for the specified tool, or if the setting is not defined for the specified tool. An empty setting value, which is used as a means to override the project default, will be returned as a empty . Gets the value of a given setting for a specified tool. The name of the tool. The name of the setting. The value to return if setting is not defined. The value of a setting for the specified tool, or if the setting is not defined for the specified tool. An empty setting value, which is used as a means to override the project default, will be returned as a empty . Gets the intermediate directory, specified relative to project directory. The intermediate directory, specified relative to project directory. Gets a comma-separated list of directories to scan for assembly references. A comma-separated list of directories to scan for assembly references, or if no additional directories should scanned. Gets the name of the configuration, including the platform it targets. Tthe name of the configuration, including the platform it targets. Gets the output directory. Gets the path in which the output file will be created before its copied to the actual output path. For Visual C++ projects, the output file will be immediately created in the output path. Gets the name of the configuration. The name of the configuration. Gets the platform that the configuration targets. The platform targeted by the configuration. Represents the configuration of a file. Expands the given macro. The macro to expand. The expanded macro. The macro is not supported. -or- The macro is not implemented. -or- The macro cannot be expanded. Gets the value of a given setting for a specified tool. The name of the tool. The name of the setting. The value to return if setting is not defined in both the file and project configuration. The value of a setting for the specified tool, or if the setting is not defined in both the file and project configuration. If the setting is not defined in the file configuration, then the project level setting will be used. An empty setting value, which is used as a means to override the project default, will be returned as a empty . Gets a value indication whether the file should be excluded from the build for this configuration. if the file should be excluded from the build for this configuration; otherwise, . Gets the relative path of the file. The path of the file relative to the project directory. Get the path of the output directory relative to the project directory. Gets the intermediate directory, specified relative to project directory. The intermediate directory, specified relative to project directory. Gets the path for the output file. The path for the output file, or if there's no output file for this configuration. Gets a comma-separated list of directories to scan for assembly references. A comma-separated list of directories to scan for assembly references, or if no additional directories should scanned. Visual C++ project. Gets a value indicating whether building the project for the specified build configuration results in managed output. The solution configuration that is built. if the project output for the specified build configuration is either a Dynamic Library (dll) or an Application (exe), and Managed Extensions are enabled; otherwise, . Verifies whether the specified XML fragment represents a valid project that is supported by this . XML fragment representing the project file. The XML fragment is not supported by this . -or- The XML fragment does not represent a valid project (for this ). Returns the Visual Studio product version of the specified project XML fragment. The document element of the project. The Visual Studio product version of the specified project XML fragment. The product version could not be determined. -or- The product version is not supported. Expands the given macro. The macro to expand. The expanded macro or if the macro is not supported. Build resource files for the given configuration. The resource files to build. The project configuration. The build configuration. TODO: refactor this as we should always get only one element in the list. Each res file should be built with its own file configuration. Build Interface Definition Language files for the given configuration. The IDL files to build. The project configuration. The build configuration. TODO: refactor this as we should always get only one element in the list. Each IDL file should be built with its own file configuration. Merges the specified tool setting of with . The merge is suppressed when the flag $(noinherit) is defined in . Gets the absolute path to the object file or directory. The build configuration The absolute path to the object file or directory, or We use an absolute path for the object file, otherwise <cl> assumes a location relative to the output directory - not the project directory. Returns a value indicating whether the project represented by the specified XML fragment is supported by . XML fragment representing the project to check. if supports the specified project; otherwise, . A project is identified as as Visual C++ project, if the XML fragment at least has the following information: ]]> Removes leading and trailing quotes from the specified path. The path to clean. Returns the Visual Studio product version of the specified project XML fragment. XML fragment representing the project to check. The Visual Studio product version of the specified project XML fragment. The product version could not be determined. -or- The product version is not supported. Holds the files included in the project. For project files with no specific file configuration, the relative path is added to the list. For project files that have a specific file configuration, a containing the instance representing the file configurations is added. Gets the name of the Visual C++ project. Gets the type of the project. The type of the project. Gets the path of the Visual C++ project. Gets the directory containing the VS.NET project. Get the location of the project. . For now, we only support local Visual C++ projects. Get the directory in which intermediate build output that is not specific to the build configuration will be stored. This is a directory relative to the project directory, named temp\. Gets or sets the unique identifier of the Visual C++ project. Represents a Visual C++ project configuration. Expands the given macro. The macro to expand. The expanded macro. The macro is not supported. -or- The macro is not implemented. -or- The macro cannot be expanded. Expansion of a given macro is not yet implemented. Gets the value of the specified attribute from the specified node. The node of which the attribute value should be retrieved. The attribute of which the value should be returned. The value of the attribute with the specified name or if the attribute does not exist or has no value. Holds the output path for this build configuration. Lazy initialized by . Holds list of files to link in the order in which they are defined in the project file. Holds the C++ sources for each build configuration. The key of the hashtable is a build configuration, and the value is an ArrayList holding the C++ source files for that build configuration. Holds the resources for each build configuration. The key of the hashtable is a build configuration, and the value is an ArrayList holding the resources files for that build configuration. Holds the IDL files for each build configuration. The key of the hashtable is a build configuration, and the value is an ArrayList holding the IDL files for that build configuration. Tells the compiler which character set to use. Gets a value indicating whether Managed Extensions for C++ are enabled. Gets a value indicating how MFC is used by the configuration. Gets a value indicating how ATL is used by the configuration. Gets the list of files to link in the order in which they are defined in the project file. Holds the C++ sources for each build configuration. The key of the hashtable is a build configuration, and the value is an ArrayList holding the C++ source files for that build configuration. Gets the resources for each build configuration. The key of the hashtable is a build configuration, and the value is an ArrayList holding the resources files for that build configuration. Get the IDL files for each build configuration. The key of the hashtable is a build configuration, and the value is an ArrayList holding the IDL files for that build configuration. Gets the target path for usage in macro expansion. The target path, or a zero-length string if there's no output file for this configuration. Get the directory in which intermediate build output will be stored for this configuration. This is a directory relative to the project directory named obj\<configuration name>. .resx and .licx files will only be recompiled if the compiled resource files in the are not uptodate. Get the path of the output directory relative to the project directory. Gets the intermediate directory, specified relative to project directory. The intermediate directory, specified relative to project directory. Gets the absolute path for the output file. The absolute path for the output file, or if there's no output file for this configuration. Gets a comma-separated list of directories to scan for assembly references. A comma-separated list of directories to scan for assembly references, or if no additional directories should scanned. The type of output for a given configuration. A Makefile. Application (.exe). Dynamic Library (.dll). Static Library (.lib). Utility. Gets a instance representing the absolute path to the import library to generate. A representing the absolute path to the import library to generate, or if no import library must be generated. Gets a value indicating whether the reference is managed for the specified configuration. The build configuration of the reference. if the reference is managed for the specified configuration; otherwise, . Gets the name of the referenced assembly. The name of the referenced assembly. Gets the name of the tool that should be used to create the . The name of the tool that should be used to create the . Gets the path of the wrapper assembly. The path of the wrapper assembly. The wrapper assembly is stored in the object directory of the project. Gets the path of the Primary Interop Assembly. The path of the Primary Interop Assembly, or if not available. Gets the hex version of the type library as defined in the definition of the reference. The hex version of the type library. The definition of the reference does not contain a "ControlVersion" attribute. Gets the GUID of the type library as defined in the definition of the reference. The GUID of the type library. Gets the locale of the type library in hex notation. The locale of the type library.