[Mono-bugs] [Bug 78517][Min] New - Assembly.LoadFrom Exceptions differ from those in MS .Net implementation

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sat May 27 05:34:05 EDT 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by mail at marian-dubiel.de.

http://bugzilla.ximian.com/show_bug.cgi?id=78517

--- shadow/78517	2006-05-27 05:34:05.000000000 -0400
+++ shadow/78517.tmp.12396	2006-05-27 05:34:05.000000000 -0400
@@ -0,0 +1,98 @@
+Bug#: 78517
+Product: Mono: Class Libraries
+Version: 1.1
+OS: GNU/Linux [Other]
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Minor
+Component: CORLIB
+AssignedTo: mono-bugs at ximian.com                            
+ReportedBy: mail at marian-dubiel.de               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Assembly.LoadFrom Exceptions differ from those in MS .Net implementation
+
+Please fill in this template when reporting a bug, unless you know what you
+are doing.
+Description of Problem: When calling
+System.Reflection.Assembly.LoadFrom(String file) with a file which does not
+contain a valid .net assembly the funcion throws a FileNotFoundException
+where it should throw a BadImageFormatException or a FileLoadException.
+
+
+Steps to reproduce the problem:
+1. mcs Test.cs     #Test.cs is attached at the end of this text
+2. touch Testfile.dll
+3. mono Test.exe
+4. echo foobar > Testfile.dll
+5. mono Test.exe
+
+Actual Results:
+$ mcs Test.cs 
+$ touch Testfile.dll
+$ mono Test.exe
+"Testfile.dll" could not be found. Unexpected behaviour.
+$ echo foobar > Testfile.dll 
+$ mono Test.exe
+"Testfile.dll" could not be found. Unexpected behaviour.
+
+Expected Results:
+$ mcs Test.cs 
+$ touch Testfile.dll
+$ mono Test.exe
+"Testfile.dll" is empty. Expected behaviour.
+$ echo foobar > Testfile.dll 
+$ mono Test.exe
+"Testfile.dll" is not an assembly. Expected behaviour.
+
+
+How often does this happen? 
+Always
+
+
+Additional Information: Tested with both mono versions 1.1.13.6 and 1.1.15
+
+Test.cs:
+using System;
+
+namespace AssemblyTest
+{
+	class Test
+	{
+		[STAThread]
+		static void Main(string[] args)
+		{
+			string file = "Testfile.dll";
+
+			if(System.IO.File.Exists(file))
+			{
+				try
+				{
+					System.Reflection.Assembly.LoadFrom(file);
+				}
+				catch(BadImageFormatException)
+				{
+					Console.WriteLine("\"{0}\" is not an assembly. Expected behaviour.",
+file);
+				}
+				catch(System.IO.FileLoadException)
+				{
+					Console.WriteLine("\"{0}\" is empty. Expected behaviour.", file);
+				}
+				catch(System.IO.FileNotFoundException)
+				{
+					Console.WriteLine("\"{0}\" could not be found. Unexpected behaviour.",
+file);
+				}
+			}
+			else
+				Console.WriteLine("To make the test work please create a file named
+\"{0}\" " +
+								  "in the working directory of this program.", file);
+		}
+	}
+}


More information about the mono-bugs mailing list