[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.