【问题标题】:Hello World in MVC6 troubleshootingMVC6 中的 Hello World 故障排除
【发布时间】:2015-10-10 04:11:28
【问题描述】:

我无法让最新的 MVC6 测试版显示页面。 (现在,它启动,但返回一个空白页存根。)我的开发机器是 VS2015 的 Win7。

我在现有的 MVC 6 应用程序、股票 Visual Studio -->“添加新项目”-->“ASP.NET 5 预览模板”-->“Web 应用程序”中得到了这种行为,甚至尝试了this boiler plate 的干净版本。

我可以做些什么来解决这个问题?这些项目构建并且没有错误。使用 IIS Express 和完整的 IIS 可以看到相同的行为。

其他人是否正在经历这种情况?

【问题讨论】:

  • 您收到 HTTP 响应了吗?它是否击中了您的控制器方法? Fiddler 展示了什么?

标签: asp.net-core-mvc


【解决方案1】:

相当广泛的问题 - 这里有一些提示可以帮助您入门:

  • 确保您已安装 beta7 tools

  • git checkout aspnet/home

  • 构建并运行samples\1.0.0-beta7\HelloMvc

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

    • dnvm list - 检查 1.0.0-beta7 是否被选中
    • dnu restore
    • dnx web

【讨论】:

  • 一个很大的挑战是 MS 下载中心似乎无法使用 beta 7 工具。点击你的链接,然后点击下载按钮,没有文件下载。我拉下了github源码,但我不确定如何安装它们
【解决方案2】:

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

    dnvm use 1.0.0-beta7 -arch x64 -p

未能将架构保存为默认值。显然 -p 开关在这个 Beta 版中仍然存在问题

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

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

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

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

非常感谢 Stafford Williams 提供的简单且编写良好的故障排除技巧。它极大地帮助了这次进入 MVC Beta 的冒险!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 2010-11-30
    • 2021-09-11
    • 2012-02-18
    • 2011-03-07
    • 1970-01-01
    相关资源
    最近更新 更多