2012-04-12 58 views
4

我對Unity3d非常陌生,並試圖打開一個現有的項目。播放時顯示以下錯誤。System.IO.File'在Unity3D中不包含'AppendAllText'錯誤的定義?

資產/腳本/ DataAccess.cs(39,30):錯誤CS0117:System.IO.File' does not contain a definition for AppendAllText」

我沒有關於如何解決這個任何想法。我被困在這裏。

如果有人解決這個問題,這將是欣賞。

在此先感謝...

+0

從[文檔](http://msdn.microsoft.com/en-us/library/system.io.file.appendalltext.aspx)的角度來看,至少在.NET中已經是.NET了。你正在使用哪個版本的Mono? Monodroid是像.NET Compact Framework這樣的框架的縮減版本嗎? – Rup 2012-04-12 10:33:14

+0

感謝您的意見..我已經看到,從我的文檔理解我需要.NET4。我正在使用Mono 2.8.2.Ya其縮減版本 – GoCrazy 2012-04-12 11:11:39

+0

不,你不需要4:我應該鏈接到一個超載頁面,其中說'支持:4,3.5,3.0,2.0',加上它也是在Silverlight運行時的縮減版中。如果你的精簡版本不支持它,那麼我想你必須自己編寫代碼:在你可以竊取的非縮減的Mono源代碼中可能會有.NET實現。 – Rup 2012-04-12 11:13:49

回答

11

我遇到了這個問題,我的團隊中沒有其他人可以重現它。

我們針對的是iOS平臺,出於某種原因,我的構建設置奇蹟般地變回了Web Player。將此BACK更改爲iOS可以解決此問題。

在Mac上,我去到文件==>構建設置...

「團結」的圖標是下一個網絡播放器,所以我把它切換到iOS和熱播的「交換平臺」按鈕。它重新導入了一堆東西,當它完成時,編譯器錯誤消失了。

0

您可以嘗試File.AppendText

using(StreamWriter sw = File.AppendText(
      Application.persistentDataPath + "error.log")) 
{ 
    sw.Write(e.ToString()); 
} 

這也許不是這樣做的最佳方式,但它應該工作。我不知道AppendAllText是否包含隱含的換行符 - 不會從文檔中看到 - 但您可能需要改爲.WriteLine

+0

謝謝您的回答..其實我已經嘗試過這一點。它似乎沒有工作.. AppendAllText是在文檔http://msdn.microsoft。COM/EN-US /庫/ ms143356.aspx。檢查它在這裏.. – GoCrazy 2012-04-12 12:18:21

+0

對不起,我沒有任何更好的想法。當你說不工作時,你的意思是不寫信給日誌,或拋出異常或其他東西? – Rup 2012-04-12 12:42:17

+0

它繼續拋出異常... – GoCrazy 2012-04-12 13:11:41

相關問題