Hello,

I'm having a problem where our application breaks after installing .Net 2.0
SP1.

Using reflector I see there are code changes in the System.Uri Class,
specifically this method:

InitializeUri(ByVal err As ParsingError, ByVal uriKind As UriKind, <Out>
ByRef e As UriFormatException)

This method (after SP1) now makes a call to "InitializeUriConfig" (which is
new in SP1).

Our application has a stub launcher, which creates a second AppDomain and
specifies a config file with an http path.
Inside InitalizeUriConfig there is the following call stack...
    -->Private Shared Sub GetConfig(ByRef idnScope As UriIdnScope, ByRef
iriParsing As Boolean)
    -->Private Shared Sub ParseConfigFile(ByVal file As String, <Out> ByRef
idnStateConfig As IdnScopeFromConfig, <Out> ByRef iriParsingConfig As
IriParsingFromConfig)
    -->FileIOPermission ctor
    -->AddPathList(access, pathListOrig, False, True, False)
    -->Me.AddPathList(access, AccessControlActions.None, pathListOrig,
checkForDuplicates, needFullPath, copyPathList)
    -->Friend Shared Function CreateListFromExpressions(ByVal str As
String(), ByVal needFullPath As Boolean) As ArrayList

CreateListFromExpressions then throws an "ArgumentException" with
"AbsolutePathRequired"...

Is this a new thing in SP1, only local .config files are supported?
The following is the code that performs the testing on the path to the
config file and then throws the exception....

If (((((path.Length < 3) OrElse (path.Chars(1) <> ":"c)) OrElse
(path.Chars(2) <> "\"c)) OrElse (((path.Chars(0) < "a"c) OrElse
(path.Chars(0) > "z"c)) AndAlso ((path.Chars(0) < "A"c) OrElse
(path.Chars(0) > "Z"c)))) AndAlso (((path.Length < 2) OrElse (path.Chars(0)
<> "\"c)) OrElse (path.Chars(1) <> "\"c))) Then
   Throw New
ArgumentException(Environment.GetResourceString("Argument_AbsolutePathRequir
ed"))
End If

It looks like it only supports local drive letters.

I can't believe we're the only ones using an http path for a config file for
an application.

And i can't believe that System.Uri is not supporting an http path.  I
suspect that either I missed something, or this is a breaking chage that
"will" be documented in the release notes.

Does anyone have any insight as to why this change would have been made.  I
can't find "any"  release notes for the SP1 release of .Net 2.0.
Is anyone able to at least confirm my findings so I know I'm not going mad?

Thanks
Phil

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to