2011-09-28 58 views
0

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

摄制

  1. 创建一个新的MVC 3项目
  2. 添加 “System.Speech” 参考
  3. 尝试导航到System.Speech命名视图

在控制器这是没有问题:

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

确保System.Speech组件存在在web.config的<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视图,然后通常它应该可以工作。

+0

感谢达林,工作就像一个魅力!你是一个拯救生命的人! – Levitikon