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, .
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.
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.
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.
]]>
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 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.
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, .
Base class for all project classes.
Initializes a new instance of the class.
Gets the complete set of output files for the project.
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 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 case-insensitive list of project configurations.
The key of the is the name of the
configuration and the value is a
instance.
Gets a list of project configurations that can be build.
Project configurations that are not in this list do not need to be
compiled (unless the project was not loaded through a solution file).
The key of the is the name of the
configuration and the value is a
instance.
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.
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 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 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".
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.
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, .
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.
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
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.
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.