{
EventHandler handler = (sender, e) =>
{
+ Assert.Same(AppDomain.CurrentDomain, sender);
File.Create(pathToFile);
};
bool AssemblyLoadFlag = false;
AssemblyLoadEventHandler handler = (sender, args) =>
{
+ Assert.Same(AppDomain.CurrentDomain, sender);
+ Assert.NotNull(args);
+ Assert.NotNull(args.LoadedAssembly);
+
if (args.LoadedAssembly.FullName.Equals(typeof(AppDomainTests).Assembly.FullName))
{
- AssemblyLoadFlag = !AssemblyLoadFlag;
+ AssemblyLoadFlag = true;
}
};
}
[Fact]
- [ActiveIssue("https://github.com/dotnet/corefx/issues/18718", TargetFrameworkMonikers.Uap)] // Need to copy files out of execution directory'
+ public void AssemblyResolveInvalidAssemblyName()
+ {
+ RemoteExecutor.Invoke(() => {
+ bool AssemblyResolveFlag = false;
+ ResolveEventHandler handler = (sender, args) =>
+ {
+ Assert.Same(AppDomain.CurrentDomain, sender);
+ Assert.NotNull(args);
+ Assert.NotNull(args.Name);
+ Assert.NotNull(args.RequestingAssembly);
+ AssemblyResolveFlag = true;
+ return null;
+ };
+
+ AppDomain.CurrentDomain.AssemblyResolve += handler;
+
+ Type t = Type.GetType("AssemblyResolveTestApp.Class1, InvalidAssemblyName", throwOnError : false);
+ Assert.Null(t);
+ Assert.True(AssemblyResolveFlag);
+ return RemoteExecutor.SuccessExitCode;
+ }).Dispose();
+ }
+
+ [Fact]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Does not support Assembly.LoadFile")]
public void AssemblyResolve()
{
CopyTestAssemblies();
RemoteExecutor.Invoke(() => {
- ResolveEventHandler handler = (sender, e) =>
+ // bool AssemblyResolveFlag = false;
+ ResolveEventHandler handler = (sender, args) =>
{
+ Assert.Same(AppDomain.CurrentDomain, sender);
+ Assert.NotNull(args);
+ Assert.NotNull(args.Name);
+ Assert.NotNull(args.RequestingAssembly);
+ // AssemblyResolveFlag = true;
return Assembly.LoadFile(Path.Combine(Environment.CurrentDirectory, "AssemblyResolveTestApp.dll"));
};
Type t = Type.GetType("AssemblyResolveTestApp.Class1, AssemblyResolveTestApp", true);
Assert.NotNull(t);
+ // https://github.com/dotnet/corefx/issues/38361
+ // Assert.True(AssemblyResolveFlag);
return RemoteExecutor.SuccessExitCode;
}).Dispose();
}
[Fact]
- [ActiveIssue("https://github.com/dotnet/corefx/issues/18718", TargetFrameworkMonikers.Uap)] // Need to copy files out of execution directory
+ [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Does not support Assembly.LoadFile")]
public void AssemblyResolve_RequestingAssembly()
{
CopyTestAssemblies();
RemoteExecutor.Invoke(() => {
+ // bool AssemblyResolveFlag = false;
+
Assembly a = Assembly.LoadFile(Path.Combine(Environment.CurrentDirectory, "TestAppOutsideOfTPA.exe"));
- ResolveEventHandler handler = (sender, e) =>
+ ResolveEventHandler handler = (sender, args) =>
{
- Assert.Equal(e.RequestingAssembly, a);
+ Assert.Same(AppDomain.CurrentDomain, sender);
+ Assert.NotNull(args);
+ Assert.NotNull(args.Name);
+ Assert.Same(a, args.RequestingAssembly);
+ // AssemblyResolveFlag = true;
return Assembly.LoadFile(Path.Combine(Environment.CurrentDirectory, "AssemblyResolveTestApp.dll"));
};
MethodInfo myMethodInfo = ptype.GetMethod("foo");
object ret = myMethodInfo.Invoke(null, null);
Assert.NotNull(ret);
+ // https://github.com/dotnet/corefx/issues/38361
+ // Assert.True(AssemblyResolveFlag);
return RemoteExecutor.SuccessExitCode;
}).Dispose();
}
ResolveEventHandler handler = (sender, args) =>
{
+ Assert.Same(AppDomain.CurrentDomain, sender);
+ Assert.NotNull(args);
+ Assert.NotNull(args.Name);
+ Assert.NotNull(args.RequestingAssembly);
return Assembly.Load("TestApp");
};
ResolveEventHandler handler = (sender, args) =>
{
+ Assert.Same(AppDomain.CurrentDomain, sender);
+ Assert.NotNull(args);
+ Assert.NotNull(args.Name);
+ Assert.NotNull(args.RequestingAssembly);
return Assembly.Load("TestApp");
};
+++ /dev/null
-Compat issues with assembly System.Runtime.Loader:
-MembersMustExist : Member 'System.Runtime.Loader.AssemblyLoadContext.add_AssemblyLoad(System.AssemblyLoadEventHandler)' does not exist in the reference but it does exist in the implementation.
-MembersMustExist : Member 'System.Runtime.Loader.AssemblyLoadContext.add_AssemblyResolve(System.ResolveEventHandler)' does not exist in the reference but it does exist in the implementation.
-MembersMustExist : Member 'System.Runtime.Loader.AssemblyLoadContext.add_ResourceResolve(System.ResolveEventHandler)' does not exist in the reference but it does exist in the implementation.
-MembersMustExist : Member 'System.Runtime.Loader.AssemblyLoadContext.add_TypeResolve(System.ResolveEventHandler)' does not exist in the reference but it does exist in the implementation.
-MembersMustExist : Member 'System.Runtime.Loader.AssemblyLoadContext.GetLoadedAssemblies()' does not exist in the reference but it does exist in the implementation.
-MembersMustExist : Member 'System.Runtime.Loader.AssemblyLoadContext.remove_AssemblyLoad(System.AssemblyLoadEventHandler)' does not exist in the reference but it does exist in the implementation.
-MembersMustExist : Member 'System.Runtime.Loader.AssemblyLoadContext.remove_AssemblyResolve(System.ResolveEventHandler)' does not exist in the reference but it does exist in the implementation.
-MembersMustExist : Member 'System.Runtime.Loader.AssemblyLoadContext.remove_ResourceResolve(System.ResolveEventHandler)' does not exist in the reference but it does exist in the implementation.
-MembersMustExist : Member 'System.Runtime.Loader.AssemblyLoadContext.remove_TypeResolve(System.ResolveEventHandler)' does not exist in the reference but it does exist in the implementation.
-Total Issues: 9