This documentation is archived and is not being maintained.

AddInStore.FindAddIn Method

Finds a specific add-in.

Namespace:  System.AddIn.Hosting
Assembly:  System.AddIn (in System.AddIn.dll)

public static Collection<AddInToken> FindAddIn(
	Type hostViewOfAddIn,
	string pipelineRootFolderPath,
	string addInFilePath,
	string addInTypeName


Type: System.Type
The type that defines the host's view of the add-in.
Type: System.String
The path to the root of the pipeline directory structure.
Type: System.String
The path and file name of the add-in to find.
Type: System.String
The type name of the add-in.

Return Value

Type: System.Collections.ObjectModel.Collection<AddInToken>
A collection of tokens that contains only the token representing the add-in that was found.


The length of pipelineRootFolderPath or addInFilePath or addInTypeName is 0.

- or -

The add-in file does not exist in addInfilePath.


One or more parameters are null.


The caller does not have read access permission to pipelineRootFolderPath.

If a single pipeline for an add-in is found, it will be the only item in the AddInToken collection. If multiple pipelines to the specified add-in are found, you can differentiate them by examining the QualificationData property.

The following example finds a specific add-in.

// Find a specific add-in.

// Construct the path to the add-in.
string addInFilePath = pipeRoot + @"\AddIns\P3AddIn2\P3AddIn2.dll";

// The fourth parameter, addinTypeName, takes the full name 
// of the type qualified by its namespace. Same as AddInToken.AddInFullName.
Collection<AddInToken> tokenColl = AddInStore.FindAddIn(typeof(Calculator),
    pipeRoot, addInFilePath, "CalcAddIns.P3AddIn2");
Console.WriteLine("Found {0}", tokenColl[0].Name);

.NET Framework

Supported in: 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.