2

我在使用带有 Visual Studio 2010 Express Edition 的 T4MVC VB 时遇到问题。

我可以在我的控制器中引用 T4MVC 类,但我无法在我的视图中访问它们(我实际需要它们的地方)。

在视图中,下面的代码被intellisense覆盖,就好像类MVC无效一样。

MVC.Home.GameBoard

它被替换为

Mvc.Home.GameBoard

这会生成错误消息'Home' is not a member of 'Mvc'。似乎在视图中有一个Mvc隐藏MVC类的命名空间。这在控制器中不存在。我怎样才能使这项工作?

更新:在玩了一些之后,无论它们的名字是什么,似乎这些类在视图中都不可用。什么决定了视图中可用的类和命名空间?无论命名如何,这些类在控制器中仍然可用。我认为必须对视图中可用的内容进行一些过滤或限制?

更新:我刚刚在观看Phil Haack的这段精彩视频,它给了我一个线索。

我需要修改<pages>web.config 文件中的部分。现在的问题是,我能否让它使用不在命名空间中的类,因为默认情况下是 MVC 类,否则我将不得不修改 T4 模板以将其放入命名空间并包含它。

4

1 回答 1

0

由于 VB 不区分大小写(与 C# 不同),您似乎遇到了某种名称冲突。

请尝试进入 T4MVC.settings.t4 并将 HelpersPrefix 从“MVC”更改为不冲突的其他内容(例如“MyMvc”)。然后更改您的代码以使用该前缀而不是 MVC。

希望这就是全部!

于 2010-11-29T00:19:01.043 回答