2010-11-28 108 views
2

我在使用Visual Studio 2010速成版T4MVC VB時遇到問題。T4MVC VB與Visual Studio 2010速成版

我可以在我的控制器中引用T4MVC類,但我無法在我的視圖中訪問它們(我實際上需要它們)。

在視圖中,以下代碼被intellisense覆蓋,就好像類MVC無效。

MVC.Home.GameBoard 

它被替換

Mvc.Home.GameBoard 

哪個生成錯誤消息'Home' is not a member of 'Mvc'。看來在這個視圖中有一個隱藏MVC類的Mvc名稱空間。這在控制器中不存在。我該如何做這項工作?

更新:在玩過它之後,似乎這些類在視圖中不可用,無論它們是什麼名稱。什麼決定在視圖中可用的類和名稱空間?無論命名如何,這些類都可以在控制器中繼續使用。我認爲必須對視圖中的可用內容進行過濾或限制?

更新:我只是從Phil Haackthis excellent video,它和我遊戲的線索。

我需要修改web.config文件中的<pages>部分。現在的問題是,我可以得到那個不在名稱空間中的類,因爲默認情況下是MVC類,否則我將不得不修改T4模板以將其放在名稱空間中幷包含它。

+0

有沒有在您的視圖中導入T4Mvc類?或者檢查視圖和生成的T4mvc類是否在相同的命名空間中? – swapneel 2010-11-29 15:14:11

+0

@swapneel如何將它導入視圖?我在其他任何視圖中都看不到進口聲明。此外,我不認爲我可以導入它,B/C MVC類不是在命名空間中生成的。 – 2010-11-29 15:54:06

回答

0

由於VB不區分大小寫(與C#不同),似乎您遇到了某種名稱衝突。

請嘗試在T4MVC.settings.t4中將HelpersPrefix從「MVC」更改爲不衝突的其他內容(例如「MyMvc」)。然後,更改您的代碼以使用該前綴而不是MVC。

希望這就是它所需要的!