2011-04-13 70 views
4

當我使用MonoDevelop構建項目時,我無法獲取包含C#代碼中的註釋的XML文件。如何在MonoDevelop中爲MonoTouch項目生成XML註釋?

我已經在項目設置的「編譯器」選項卡上檢查了Generate xml documentation框,但沒有在我的項目輸出或源文件夾中的任何位置看到XML文件。

我使用的是單聲道10.2.1,MonoDevelop的2.4.2和MonoTouch的4

回答

6

簡短回答:MonoTouch的C#編譯器不支持生成文檔評論文件。

長答案:MonoTouch使用smcs(Silverlight配置文件)編譯器,因爲它基於Silverlight框架配置文件。在Mono 2.10之前,Mono的C#編譯器使用System.Reflection.Emit來生成IL,這意味着它必須在它所針對的框架版本上運行。不幸的是,Silverlight沒有XmlDocument和編譯器用於處理XML文檔註釋的其他類,因此這些功能在編譯器的smcs版本中被禁用。在Mono 2.10中,C#編譯器已移植到IKVM.Reflection,它允許單個編譯器(運行在「完整」框架上)定位任何框架配置文件或版本。但是,遷移並不完整,舊版本的smcs現在仍然存在。這將在未來版本的Mono中得到修復。

+0

非常好聽(和無賴)。謝謝邁克爾。 – johnluetke 2011-04-13 18:02:17

1

在我剛剛試過此我自己,和一個名爲「MonoSandbox」我結束了「MonoSandbox.xml」 bin \ Debug文件夾,以及exe文件。

它絕對是成功建設嗎?

+0

是的,它的建築成功。我能夠很好地運行代碼。更具體地說,我試圖建立一個MonoTouch項目 – johnluetke 2011-04-13 14:09:54

+0

@ johnl1479:啊。這可能是以前值得一提的。我懷疑MonoTouch部分與它有關,因爲這可能是一個非常不同的構建步驟。 – 2011-04-13 14:25:02

+0

我將它歸功於我的計算器noob-ness – johnluetke 2011-04-13 17:58:00