AddInStore.FindAddIn Method (Type, String, String, String)

 

Finds a specific add-in.

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

[SecurityCriticalAttribute]
public static Collection<AddInToken> FindAddIn(
	Type hostViewOfAddIn,
	string pipelineRootFolderPath,
	string addInFilePath,
	string addInTypeName
)

Parameters

hostViewOfAddIn
Type: System.Type

The type that defines the host's view of the add-in.

pipelineRootFolderPath
Type: System.String

The path to the root of the pipeline directory structure.

addInFilePath
Type: System.String

The path and file name of the add-in to find.

addInTypeName
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.

Exception Condition
ArgumentException

The length of pipelineRootFolderPath or addInFilePath or addInTypeName is 0.

- or -

The add-in file does not exist in addInfilePath.

ArgumentNullException

One or more parameters are null.

SecurityException

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);

FileIOPermission

for the ability to read the add-in folder. Associated enumeration: FileIOPermissionAccess.Read. Security action: Demand.

.NET Framework
Available since 3.5
Return to top
Show: