C# XMLResolver编译错误

C# XMLResolver编译错误,c#,xml,xmlreader,C#,Xml,Xmlreader,因此,我尝试使用XMLResolver加载xml文件。当我从文件名创建xmlreader时,它可以正常工作,但当我使用stringreader创建xmlreader时,它会失败。它给我一个xsloadexception:XSLT编译器错误。内部异常是“已经存在具有相同密钥的条目。” public覆盖对象GetEntity(Uri绝对Uri、字符串角色、对象类型返回) { 字符串f=Path.Combine(@“C:\tmp”,Path.GetFileName(absoluteUri.ToStri

因此,我尝试使用XMLResolver加载xml文件。当我从文件名创建xmlreader时,它可以正常工作,但当我使用stringreader创建xmlreader时,它会失败。它给我一个
xsloadexception:XSLT编译器错误。
内部异常是
“已经存在具有相同密钥的条目。”

public覆盖对象GetEntity(Uri绝对Uri、字符串角色、对象类型返回)
{
字符串f=Path.Combine(@“C:\tmp”,Path.GetFileName(absoluteUri.ToString());
字符串testaxont=@“”;
字符串TestaxContent2=File.ReadAllText(f);
bool j=testaxont.Equals(testaxont2);//这等于true
XmlReader tmp=XmlReader.Create(新建StringReader(File.ReadAllText(f));//崩溃
//XmlReader tmp=XmlReader.Create(f);//不要崩溃
返回tmp;
}

testax.xslt
testax2.xsl

我需要将虚线更改为
XmlReader tmp=XmlReader.Create(new-StringReader(File.ReadAllText(f)),null,f)对于一个文件,它有一个基本URI,但缺少一个字符串

    public override object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn)
    {
        string f = Path.Combine(@"C:\tmp", Path.GetFileName(absoluteUri.ToString()));
        string testaxCont = @"<xsl:stylesheet xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" version=""1.0""><xsl:template name=""J""/></xsl:stylesheet>";
        string testaxCont2 = File.ReadAllText(f);
        bool j = testaxCont.Equals(testaxCont2); //This equals true
        XmlReader tmp = XmlReader.Create(new StringReader(File.ReadAllText(f))); //crash
//            XmlReader tmp = XmlReader.Create(f); //don't crash
        return tmp;
    }
testax.xslt    
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="testax2.xsl" /></xsl:stylesheet>

testax2.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:template name="J"/></xsl:stylesheet>