MVC视图和System.Speech.Synthesis命名空间

时间:2011-09-28 01:28:26

标签: asp.net-mvc asp.net-mvc-3

这很奇怪。 MVC视图拒绝识别System.Speech命名空间。这是怎么回事?有没有解决这个问题?我有一个ViewModel,它具有来自此命名空间的VoiceAge和VoiceGender枚举属性,但MVC视图不是在播放球。

摄制

  1. 创建一个新的MVC 3项目
  2. 添加“System.Speech”参考
  3. 尝试导航到视图中的System.Speech名称空间
  4. 在Controller中没问题:

    using System.Speech.Synthesis;
    using System.Web.Mvc;
    
    namespace MvcApplication6.Controllers
    {
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                VoiceAge voiceAge = VoiceAge.Adult;
    
                return View();
            }
        }
    }
    

    观点,而不是:

    enter image description here

    我甚至在web.config中添加了名称空间,没有运气:

    <pages>
      <namespaces>
        <add namespace="System.Speech.Synthesis" />
    

1 个答案:

答案 0 :(得分:1)

确保您的web.config的System.Speech部分中存在<assemblies>程序集:

<assemblies>
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Speech, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>

添加后,请确保重新编译,关闭并重新打开.aspx视图,然后通常它应该可以正常工作。