2010-11-28 136 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。

希望这就是它所需要的!

相关问题