[Mono-bugs] [Bug 58922][Maj] New - wrong usage of AppDomainSetup.PrivateBinPath when searching for private assemblies, wrong implementation of AppDomain.AppendPrivatePath()

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Mon, 24 May 2004 07:54:59 -0400 (EDT)


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 robik@mailbox.sk.

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

--- shadow/58922	2004-05-24 07:54:59.000000000 -0400
+++ shadow/58922.tmp.4075	2004-05-24 07:54:59.000000000 -0400
@@ -0,0 +1,65 @@
+Bug#: 58922
+Product: Mono: Class Libraries
+Version: unspecified
+OS: All
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Major
+Component: CORLIB
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: robik@mailbox.sk               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: wrong usage of AppDomainSetup.PrivateBinPath when searching for private assemblies, wrong implementation of AppDomain.AppendPrivatePath()
+
+Description of Problem:
+
+The purpose of AppDomainSetup.PrivateBinPath is to contain a semicolon 
+separated list of relative(to the ApplicationBase) paths. 
+
+see th msdn doc: http://msdn.microsoft.com/library/en-
+us/cpref/html/frlrfsystemappdomainsetupclassprivatebinpathtopic.asp
+
+The current mono implementation handles this property as a single path 
+when probing for private assemblies, wich is a wrong implementation.
+
+Also the implementation of AppDomain.AppendPrivatePath() method is wrong. 
+It should append the relative path defined in parameter to the semicolon-
+delimited list of private paths.
+In mono instead it appends a path separator and then the parameter value 
+wich is wrong.
+
+Steps to reproduce the problem:
+1. under your application ApplicationBase directory create 2 or more 
+subdirectories (e.g. test1 and test2), . Place some assembly into one of 
+these directories (e.g. test.dll)
+2. create an AppDomainSetup, set the PrivateBinPath property to an 
+semicolon separated list of relative paths created in previous step 
+(e.g. "test1;test2")
+3. create a new AppDomain using the AppDomainSetup instance
+4. call CreateInstanceAndUnwrap() method on the AppDomain instance created 
+in step 3, giving in the name of the assembly from step 1 (e.g. "test") as 
+first parameter and some type name contained in this assembly 
+(e.g. "Test.TestObject")
+
+Actual Results:
+
+you get an assembly not found error
+
+Expected Results:
+
+no errors
+
+How often does this happen? 
+
+always
+
+Additional Information:
+
+You will get the same result if you use AppDomain.AppendPrivatePath() on 
+the AppDomain instance instead of setting the 
+AppDomainSetup.ProvateBinPath property.