tester.AssertLoadMissingAssemblyType ();
}
+ [Test]
+ public void ShadowCopyDontChangeAssemblyCodeBase ()
+ {
+ var setup = new AppDomainSetup ();
+ setup.ApplicationBase = tempDir;
+ setup.ApplicationName = "testdomain";
+ setup.ShadowCopyFiles = "true";
+ var ad = CreateTestDomain (setup, true);
+
+ string assemblyFile = Path.Combine (tempDir, "TestAssembly.dll");
+ AssemblyName aname = new AssemblyName ();
+ aname.Name = "TestAssembly";
+ GenerateAssembly (aname, assemblyFile);
+
+ var tester = CreateCrossDomainTester (ad);
+ var codeBaseFromShadowCopy = tester.LoadAndGetName ("TestAssembly");
+ var expected = Assembly.LoadFrom (Path.Combine (tempDir, "TestAssembly.dll"));
+ Assert.AreEqual (expected.GetName ().CodeBase, codeBaseFromShadowCopy);
+ }
+
private static AppDomain CreateTestDomain (string baseDirectory, bool assemblyResolver)
{
AppDomainSetup setup = new AppDomainSetup ();
{
return obj;
}
+
+ public string LoadAndGetName (string assemblyName)
+ {
+ var assembly = Assembly.Load (assemblyName);
+ return assembly.GetName ().CodeBase;
+ }
}
[Serializable ()]