【问题标题】:Is it possible to use latin character in comments of t4 template?是否可以在 t4 模板的注释中使用拉丁字符?
【发布时间】:2012-01-25 19:03:53
【问题描述】:

我正在尝试在我的项目中添加控制器的 t4 模板中创建葡萄牙语 cmets。

t4模板中的cmets:

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

问题是当我添加控制器时,cmets 如下所示:

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

Obs:正方形 � 是黑色的“?菱形”符号。

那么,如何在 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
    }
}

【问题讨论】:

    标签: c# asp.net-mvc-3 templates t4


    【解决方案1】:

    尝试为模板的输出明确指定编码:

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

    编辑:您的代码在我的代码上正常工作(删除mvcHost 部分后)。

    通过对每个模板执行以下过程,尝试将您的模板及其输出文件重新保存为 UTF-8:

    1. 在 Visual Studio 中打开它
    2. 点击文件,另存为...
    3. 选择使用编码保存…(见下文)
    4. 确保选择了 UTF-8
    5. 点击确定

    【讨论】:

    • 您可以将模板作为问题的一部分发布吗?
    • 谢谢!所以,最后一个疑问,您说:“您的代码在我的代码上正常工作(在删除 mvcHost 部分之后)。”。为什么“在删除 mvcHost 部分之后”?我不删除这些部分,它可以工作......
    • 很高兴它成功了 :-) 不要担心我的 mvcHost 评论;我想我的项目中缺少参考。
    【解决方案2】:

    试着写成这样的字符

    inclus&atilde;o
    

    查看 HTML 代码表here

    【讨论】:

    • 是的,但是由于这是一个文档注释,所以无论如何你都必须使用这种特殊的语法。在生成的帮助文档中,cmets 应该正确显示。您必须在 doc-cmets 中使用 &amp;lt;&amp;gt; 以及 &lt;&gt;
    • XML 并没有天生就禁止非 ASCII Unicode。使用字符实体引用代替字符应该不是绝对必要的。 (&lt;&gt;&amp; 等 XML 语法不计算在内。)
    • 如何引用 DTD 以将实体引用导入 XML 文档?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 2017-10-24
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多