2011-09-28 75 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