2012-01-25 34 views
0

我正在嘗試在我的項目中的添加控制器的t4模板中創建一個葡萄牙語註釋。是否可以在t4模板的評論中使用拉丁字符?

在T4模板中的註釋:

/// <summary> 
/// Controller que trata as requisições de pesquisa, inclusão, alteração e exclusão de <#= mvcHost.ControllerName.Replace("Controller", "") #>. 
/// </summary> 

問題是,當我添加一個控制器,意見出現這樣的:

/// <summary> 
/// Controller que trata as requisi��es de pesquisa, inclus�o, altera��o e exclus�o de Teste. 
/// </summary> 

觀測數據:該廣場是黑色的「鑽石? 「符號。

那麼,我怎樣才能在t4模板中使用拉丁字符?

我的模板:

<#@ template language="C#" HostSpecific="True" #> 
<#@ output extension=".cs" encoding="UTF-8" #> 
<# 
MvcTextTemplateHost mvcHost = (MvcTextTemplateHost)(Host); 
#> 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 

namespace <#= mvcHost.Namespace #> 
{ 
    /// <summary> 
    /// Controller que trata as requisições de pesquisa, inclusão, alteração e exclusão de <#= mvcHost.ControllerName.Replace("Controller", "") #>. 
    /// </summary> 
    public class <#= mvcHost.ControllerName #> : Controller 
    { 
     // The class code 
    } 
} 

回答

2

嘗試顯式指定編碼爲你的模板輸出:

<#@ output extension=".cs" encoding="UTF-8" #> 

編輯:您的代碼正常工作對礦井(去除mvcHost後零件)。

嘗試重新保存兩個模板,並通過對每個執行此過程的輸出文件爲UTF-8:

  1. 打開它在Visual Studio
  2. 單擊文件,另存爲...
  3. 選擇保存有編碼......(見下文)
  4. 確保UTF-8選擇
  5. 單擊確定

enter image description here enter image description here

+1

不起作用。 =/ –

+0

您可以將您的模板發佈爲問題的一部分嗎? – Douglas

+0

發佈代碼。 =) –

0

嘗試寫人物像這樣

inclus&atilde;o 

見的HTML代碼here表。

+0

創建的代碼中的結果是相同的:inclus&atilde; o。 –

+0

是的,但由於這是一個文檔評論,您必須使用這個特殊的語法。在生成的幫助文檔中,註釋應該正確顯示。您必須在doc-comments中使用'<'和'>'以及'<' and '>'。 –

+0

XML不會天生禁止非ASCII的Unicode。不應該嚴格需要使用字符實體引用來代替字符。 (XML語法如'<', '>','&'不計數。) – Douglas

相關問題