4

有没有其他人在 VS 2013 中遇到过这个问题?有什么办法解决吗?

  1. 使用 Visual Studio 2013 创建一个新的 asp.net Web 应用程序。

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

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

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

  5. 粘贴 web.config 的内容并将输出扩展名更改为 .config。你只需要这一行(然后是你的 web.config 内容): <#@ output extension=".config" #>

  6. 确保输出扩展行和粘贴的 web.config 的第一行之间没有空格。

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

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

  9. 右键单击 Controllers 文件夹并选择 Add -> Controller...

  10. 选择 MVC 5 Controller - Empty 并单击添加。

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

结果:

错误 运行所选代码生成器时出错:“值不在预期范围内。”

4

3 回答 3

3

微软回复我,他们说这是设计使然...

解析度

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

解决方法:

配置文件可以包含其他配置文件。Web.config 包含一个 extensions.config 并制作一个 extensions.tt,它只生成 extensions.config。

参考: web.config 可以从外部 xml 文件中读取吗?

征得您的同意,我将继续结案。如果您有任何后续问题,请随时与我联系。

感谢您选择微软!

于 2014-03-13T18:44:31.233 回答
3

它发生在我身上,因为我将 web.config 排除在我的项目之外。

Just include web.config back and everything ok.
于 2015-01-03T03:20:20.970 回答
0

我相信这是带有 MVC5 的 Visual Studio 中的一个错误。为了解决这个问题,我们最终不是从 T4 模板生成 web.config,而是对每个构建环境使用 XML 转换。

于 2014-06-16T22:47:53.633 回答