2012-11-02 17 views
0

modified a few lines of C# codesource of Mono,現在它已經不建:單聲道:「MDOC:有XML文檔中的一個錯誤」

make[7]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/mcs' 
make[7]: Entering directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs' 
/usr/bin/make all-local 
make[8]: Entering directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs' 
MDOC [net_4_0] cs-errors.tree 
mdoc: There is an error in XML document. 
See `mdoc help' for more information. 
make[8]: *** [cs-errors.tree] Error 1 
make[8]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs' 
make[7]: *** [do-all] Error 2 
make[7]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs' 
make[6]: *** [all-recursive] Error 1 
make[6]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs' 
make[5]: *** [profile-do--net_4_0--all] Error 2 
make[5]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs' 
make[4]: *** [profiles-do--all] Error 2 
make[4]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs' 
make[3]: *** [all-local] Error 2 
make[3]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/runtime' 
make[2]: *** [all-recursive] Error 1 
make[2]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1' 
make[1]: *** [all] Error 2 
make[1]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1' 
make: *** [build-stamp] Error 2 
dpkg-buildpackage: error: debian/rules build gave error exit status 2 
Build command 'cd mono-2.10.8.1 && dpkg-buildpackage -b -uc' failed. 
E: Child process failed 

問題是mdoc: There is an error in XML document。 MDOC是Mono的一種Javadoc。我很驚訝,改變一些良性的C#代碼會使MDOC失敗?

任何提示這裏發生了什麼?我也不知道這是關於什麼XML文檔。

+0

推測MDOC正在嘗試處理代碼中的xml註釋,並使用新構建的單聲道。顯然你在System.Xml命名空間中的改變破壞了MDOC。 – Jester

+0

*更新*:看着makefile,'cs-errors.tree'是基於'cs-errors.config'創建的,它是一個xml文件。所以也許這是壞的,或者它不能用你的修改加載。 – Jester

回答

1

我在評論中發表的初步分析似乎是正確的。 MDOC正在加載cs-errors.config,並使用新建的運行時。加載所述文件時所做的更改會產生以下異常:

System.InvalidOperationException: Element 'FilesPath' has wrong order in sequence (expected - -1, actual - 0 

這是您的修補程序添加的。我猜你可能要檢查readBySoapOrder爲好,如:

if (readBySoapOrder && info.ExplicitOrder != ind) 
    throw new InvalidOperationException(string.Format("Element '{0}' has wrong order in sequence (expected - {1}, actual - {2}", Reader.LocalName, info.ExplicitOrder, ind)); 

與這個小變化MDOC是快樂和編譯成功,但我不知道,如果它是正確的行爲。

0

在再次嘗試「製造」之前,嘗試「乾淨」。