I am trying to load an assembly into memory and then instantiate types within that assembly. The objects are all of the same type (ITestMod). The following seems to work well:
private void LoadTestAssembly(string assemblyName)
{
try
{
Assembly assembly = Assembly.LoadFrom(@".\testmods\" + assemblyName);
Type type = assembly.GetType("TestModule.StressTestMod");
currentTestMod = Activator.CreateInstance(type) as ITestMod;
}
catch(FileNotFoundException fnf)
{
MessageBox.Show("Could not find module: " + assemblyName, "Assembly Loading", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
When I attempt to run a method of this obj I get a null reference pointer. However currentTestMod is not null. Any suggestions?
if (currentTestMod != null)
{
currentTestMod.RunTests(this); // Throws Exception
}
The ITestMod interface:
public interface ITestMod
{
void RunTests(HtmlTestForm parentForm);
}