4

VS 2013中有其他人遇到过这种情况吗?任何方式修理?VS 2013 MVC项目中的Web.tt导致错误“值不在预期的范围内”

  1. 用Visual Studio创建一个新的asp.net web应用程序2013年

  2. 在 “添加文件夹和核心引用:” 检查MVC。点击确定。

  3. 打开web.config并复制内容。

  4. 添加一个新的文本模板到您的项目称为“Web.tt”

  5. 粘贴在你的web.config的内容,改变输出扩展来的.config。你需要的是这一行(然后之后你的web.config内容): <#@输出扩展=#>

  6. 确保有输出延长线和第一之间没有空格“配置”。你粘贴的web.config行。

  7. 删除web.config(包括发布和调试构建目标),以便web.tt是web.config的所有内容。

  8. 右键单击Web.tt并运行自定义工具。确保web.config已创建,现在是您项目的一部分。

  9. 右键单击控制器文件夹,然后选择添加 - >控制器...

  10. 选择MVC 5控制器 - 空,然后单击添加。

  11. 为您的控制器命名并点击添加。

结果:

错误有运行所选择的代码发生器的错误:“值不在预期的范围内。”

+0

我与微软就此开了一个支持案例。等待回听。 – Donuts

+0

更多信息..我正在使用Visual Studio Premium 2013更新1 – Donuts

回答

3

微软回来给我,他们说这是由设计...

分辨率

Web.config文件无法删除添加控制器,因为它是由设计。如果在下面修改web.config,Visual Studio将崩溃。

解决方法:

配置文件可以包括其他配置files.Web.config包括extensions.config,使刚刚产生extensions.config的extensions.tt。

参考:Can a web.config read from an external xml file?

征得您的同意,我走在前面和关闭的情况。如果您有任何后续问题,请随时与我联系。

感谢您选择微软!

+1

我想记录下来,并说我认为这是一个荒谬的解决方法。我想单个web.config的结果不是引用其他文件的web.config。 – Donuts

+0

我有同样的问题。我有我的web.config文件在一个单独的项目,我不能添加控制器或任何其他MVC功能。现在我添加了一个web.config,我可以添加这些组件。我觉得这很荒谬! – ydd1987

0

我相信这是Visual Studio与MVC5中的一个错误。要解决它,而不是从T4模板生成web.config,我们最终使用每个生成环境的XML转换。

2

它发生在我身上,因为我独家web.config出我的项目。

Just include web.config back and everything ok. 
+0

谢谢。这工作像魅力! –

相关问题