MVC6 故障排除中的 Hello World

Hello World in MVC6 troubleshooting

我在获取最新的 MVC6 测试版以显示页面时遇到问题。 (现在,它启动了,但是 returns 一个空白页存根。)我的开发机器是带有 VS2015 的 Win7。

我在现有的 MVC 6 应用程序、股票 Visual Studio --> "Add New Project" --> "ASP.NET 5 Preview Templates" --> "Web Application" 和甚至尝试了 this boiler plate.

的干净版本

如何解决此问题?这些项目构建并且没有错误。使用 IIS Express 和完整的 IIS 时会看到相同的行为。

其他人是否遇到过这种情况?

相当宽泛的问题 - 这里有一些帮助您入门的建议:

  • 确保安装了 beta7 tools

  • git结帐aspnet/home

  • 构建并运行samples.0.0-beta7\HelloMvc

  • 如果没有出现任何错误,请转到上面目录中的命令行,然后使用 dnx 尝试相同的操作:

    • dnvm list - 检查是否选择了 1.0.0-beta7
    • dnu restore
    • dnx web

使用 Stafford Williams 提供的工具,我解决了各种问题。
DNVM 显示版本正确,但设置为 x86 而不是 x64。我解决了这个问题,但是

    dnvm use 1.0.0-beta7 -arch x64 -p

无法将架构保存为默认架构。显然 -p 开关在这个 Beta

中仍然有问题

编辑:以下内容用于更改默认值。我实际上不确定哪种方式是 "correct" 方式。 dnvm 别名 1.0.0-beta7 -arch x64

问题解决后,我尝试了 dnu 恢复,但它引发了一个异常,我追溯到 samples.0.0-beta7\HelloMvc 中的 project.lock.json 文件,我删除并进行了重建。然后我得到了一个没有错误的解决方案。

此时 HelloMVC 工作正常,但当我尝试使用我的控制器时,我的代码仍然只生成一个空页面。

罪魁祸首是一些不起作用的样板:我的控制器 class 装饰有 [Route("/(controller)")] 属性。 (老实说,我不确定是从哪个版本的样板文件复制的。可能是早期的测试版,或者我找到的其他一些示例代码。)注释掉该属性最终给这片土地带来了和平和彩虹,事情开始了按预期工作。

非常感谢 Stafford Williams 提供的简单易懂的故障排除技巧。它极大地帮助了这次进入 MVC 测试版的冒险!