Share via

HostSecurityManager.ProvideAssemblyEvidence(Assembly, Evidence) Method


Provides the assembly evidence for an assembly being loaded.

 virtual System::Security::Policy::Evidence ^ ProvideAssemblyEvidence(System::Reflection::Assembly ^ loadedAssembly, System::Security::Policy::Evidence ^ inputEvidence);
public virtual System.Security.Policy.Evidence ProvideAssemblyEvidence (System.Reflection.Assembly loadedAssembly, System.Security.Policy.Evidence inputEvidence);
abstract member ProvideAssemblyEvidence : System.Reflection.Assembly * System.Security.Policy.Evidence -> System.Security.Policy.Evidence
override this.ProvideAssemblyEvidence : System.Reflection.Assembly * System.Security.Policy.Evidence -> System.Security.Policy.Evidence
Public Overridable Function ProvideAssemblyEvidence (loadedAssembly As Assembly, inputEvidence As Evidence) As Evidence



The loaded assembly.


Additional evidence to add to the assembly evidence.


The evidence to be used for the assembly.


The following example shows how to override the ProvideAssemblyEvidence method for a custom host security manager. This example is part of a larger example provided for the HostSecurityManager class.

public override Evidence ProvideAssemblyEvidence(Assembly loadedAssembly, Evidence evidence)
    Console.WriteLine("Provide assembly evidence for: " + (loadedAssembly == null ? "Unknown" : loadedAssembly.ToString()) + ".");
    if (evidence == null)
        return null;

    evidence.AddAssemblyEvidence(new CustomEvidenceType());
    return evidence;
Public Overrides Function ProvideAssemblyEvidence(ByVal loadedAssembly As [Assembly], ByVal evidence As Evidence) As Evidence
    Console.WriteLine("Provide assembly evidence for: " + IIf(loadedAssembly Is Nothing, "Unknown", loadedAssembly.ToString()) + ".") 'TODO: For performance reasons this should be changed to nested IF statements
    If evidence Is Nothing Then
        Return Nothing
    End If
    evidence.AddAssemblyEvidence(New CustomEvidenceType())
    Return evidence

End Function 'ProvideAssemblyEvidence


This method can be overridden in a derived class.

This method is called whenever an assembly is loaded, either implicitly or explicitly. The passed in parameters are the assembly being loaded, and the computed evidence from the common language runtime. The host implementation can choose to extend or reduce the evidence. The return value is the evidence to be used for the assembly. The base implementation always returns the evidence object passed in as the inputEvidence parameter.


See the Notes to Inheritors for the HostSecurityManager class for critical implementation information.

Applies to