2010-07-04 30 views
1

我正在嘗試創建一個T4模板來爲我需要的特定任務生成一個類。然而,它的輸出有些問題。T4生成垃圾輸出,tt文件錯誤免費

即使.tt文件爲空,輸出文件也會包含隨機垃圾回收字符。我想這可能與.tt文件上的字符編碼有關。

我可以成功地將代碼生成項添加到edmx文件,它會生成正常,除非我對tt文件進行更改,保存,恢復更改,重新保存。輸出再次變成垃圾。

一直未能找到遇到此問題的任何人。


實施例:TextTemplate.tt

<#@ template debug="false" hostspecific="false" language="C#" #> 

輸出文件:TextTemplate.cs

믯瀇䀣琠浥汰瑡⁥敤畢㵧昢污敳•潨瑳灳捥晩捩∽慦獬≥氠湡畧條㵥䌢∣⌠ാ 

想法,任何人?

感謝,

卡爾

+3

它說,用流利的中文,「嘿,卡爾,你的編碼可能不正確,而且你的財富是你今天會遇到一個重要的人。 – 2010-07-04 21:34:45

回答

1

通過右鍵單擊 - >打開方式 - >使用編碼的源代碼(文本)編輯器來解決此問題。拿起編碼很好:(自動檢測)

+1

我剛剛通過切換到VS2010的解決方案,這不是一個網站,而是一個表格應用程序..不知道爲什麼工作,但我有同樣的確切問題 – 2011-02-16 23:25:11

0

看一看在二進制輸出文件。它可能是實際上是 UTF-8或ASCII,但Visual Studio認爲它是UTF-16。你可以發佈你期望的前幾個字符,以及它們的二進制輸出嗎? (如果你也可以發佈二進制輸入,這將有所幫助。)

+0

錯誤生成輸出,我相信它說。不是100%確定的。 我手動打開文件,將其保存爲unicode並再次運行自定義工具,然後收到我剛纔建議的消息。重新保存並再次破壞。記事本將其報告爲UTF-8文件,這顯然是VS的默認值。不確定從那裏繼續。 – Tyst 2010-07-04 09:55:58

+0

我也嘗試了一些將其輸出設置爲UTF-8的指令。我的意思是在tt代碼中。沒有幫助 – Tyst 2010-07-04 09:57:57

+0

@Carl:不要在文本編輯器中打開它並將其另存爲不同的編碼 - 用* binary *文件編輯器打開它併發布內容的原始字節。但是,如果該工具發出錯誤消息,那麼您應該發佈確切的錯誤消息]。你之前沒有提到過。 – 2010-07-04 11:05:52