Это не просто, но мои первые мысли по этому поводу состоят в том, чтобы абстрагировать его с помощью интерфейса и позднее связать его, но вы должны помнить, чтобы убедиться, что вы полностью доверяете, когда загружаете его, иначе он может не работать.
static class Program
{
static void Main(string[] args)
{
Assembly asm = Assembly.Load("ExampleAssembly, Version=1.0.0.0, Culture=en, PublicKeyToken=a5d015c7d5a0b012");
IFullTrustAddin addin = asm.CreateInstance("Namespace.MyChilkatWrapper") as IFullTrustAddin;
if (addin == null)
return;
addin.DoSomething();
}
}
interface IFullTrustAddin
{
void DoSomething();
}