Use non-GAC assembly for provisioning engine's ExtensibilityHandlerObject

New Contributor


I'm trying to use New-PnPExtensbilityHandlerObject to add an extension to the provisioning engine.


When providing an assembly which is not installed in the GAC, it fails when using the New-PnPExtensbilityHandlerObject command, and using this as ExtensibilityHandler for Apply-PnPProvisioningTemplate.


Is there any way to reference a non-GAC assembly for the provisioning engine?

2 Replies

I haven't tried it using PowerShell, but from c# code, you don't need to register the Assembly in the GAC. Are you specifing the FQN of the Assembly? you know, something like:

Contoso.Project.MyCustomExtensibilityHandler, Contoso.Project, Version=, Culture=neutral, PublicKeyToken=null"

PnP Code is just using the System.Activator class to load the Assembly

var _instance = Activator.CreateInstance(handler.Assembly, handler.Type).Unwrap();

Here is more information about how the .net framework tries to load the assembly.




Hi Luis,

Indeed, from C# code this is perfectly possible - since the runtime base dir is set to the current bin/Debug folder for example. However, when using Powershell, the DLL resolution is looking in these directories:




I've tried changing these working directories in many ways, but got nothing to work.