Description
Original issue: dotnet/msbuild#6847
MSBuild's PR: dotnet/msbuild#6863
Initializing an XmlReader using XmlReader.Create(<path-to-file>) where the path contains characters from the unicode private use area causes issues at file load. Part of the path that's the culprit: Ⅻㄨㄩ 啊阿鼾齄丂丄狚狛狜狝﨨﨩ˊˋ˙–⿻〇㐀㐁䶴䶵U1[]U2[]U3[]
The workaround is to call XmlReader.Create using a StreamReader. However, when MSBuild is calling its XslTransform task on a file in this type of path, and in the xsl file it calls the Document function on a file that also exists in a path like this, it will break. See details here: dotnet/msbuild#6863 (comment)
This comment explains the issue. You hit an exception when calling the document function in an xslt file when that xslt file is under a path that contains private area unicode characters.
Xslt file example:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:value-of select="document('b.xml')"/>
</xsl:template>
</xsl:stylesheet>
Place that next to a b.xml in a path that contains Ⅻㄨㄩ 啊阿鼾齄丂丄狚狛狜狝﨨﨩ˊˋ˙–⿻〇㐀㐁䶴䶵U1[]U2[]U3[].
Configuration
Full framework & net core 6.0.100-preview.7.21379.14
Regression?
No
Other information
See original issue / MSBuild PR for in-depth notes.
Description
Original issue: dotnet/msbuild#6847
MSBuild's PR: dotnet/msbuild#6863
Initializing an XmlReader usingXmlReader.Create(<path-to-file>)where the path contains characters from the unicode private use area causes issues at file load. Part of the path that's the culprit:Ⅻㄨㄩ 啊阿鼾齄丂丄狚狛狜狝﨨﨩ˊˋ˙–⿻〇㐀㐁䶴䶵U1[]U2[]U3[]The workaround is to call XmlReader.Create using a StreamReader. However, when MSBuild is calling itsXslTransformtask on a file in this type of path, and in the xsl file it calls theDocumentfunction on a file that also exists in a path like this, it will break. See details here: dotnet/msbuild#6863 (comment)This comment explains the issue. You hit an exception when calling the document function in an xslt file when that xslt file is under a path that contains private area unicode characters.
Xslt file example:
Place that next to a
b.xmlin a path that containsⅫㄨㄩ 啊阿鼾齄丂丄狚狛狜狝﨨﨩ˊˋ˙–⿻〇㐀㐁䶴䶵U1[]U2[]U3[].Configuration
Full framework & net core 6.0.100-preview.7.21379.14
Regression?
No
Other information
See original issue / MSBuild PR for in-depth notes.