Visual Studio 2015 MVC项目模板访问被拒绝

6
我已在VS2015中创建了一个非常简单的MVC应用程序,具有一些基本的CSS样式和一些HTML内容,以更快地启动应用程序。应用程序运行完美。
我使用“文件”->“导出模板...”将其导出为模板。
然后,我基于该项目类型创建了一个全新的项目。到目前为止都很好。但是,现在当我运行新创建的项目时,我得到一个带有“访问被拒绝”的空白页面(见图像)。
我一直在仔细检查模板项目和新项目,但我找不到任何区别。为什么一个可以工作而另一个会给出访问被拒绝的错误?我已经没有想法了,任何帮助都将不胜感激。

Access Denied

编辑:

经过更多研究,我已经找到了问题的原因,但没有解决方案。

似乎项目模板将“匿名身份验证”设置为禁用,并在项目设置中启用了“Windows身份验证”。然而,当我基于该模板创建项目时,这些值被颠倒,从而导致访问被拒绝。

以下是模板中的项目设置图像:

enter image description here

这是“新建”项目中的项目设置图片:

enter image description here

请注意,认证设置都被反转了。有人能告诉我如何使这种情况发生吗? 编辑2: 如建议所述,applicationhost.config文件不同,这导致了上述问题。以下是模板的applicationhost.config安全部分:

enter image description here

然而,在基于模板创建的新项目中,这个文件是相同的:

enter image description here

注意,新项目中完全缺少
部分。那么,现在的问题是如何将其复制到新项目中?

1
我不确定,但可能与applicationhost.config有关。似乎你正在为两个应用程序使用相同的端口。你能否检查一下applicationhost.config文件中<system.applicationHost><sites>部分的physicalPath属性?也许它正在尝试访问第一个项目而不是新项目。 - Carlos Fernández
我认为你已经找对了方向。看起来<system.applicationHost><sites>这一部分是相同的,然而安全性部分是不同的。请查看我的更新问题以获取更多细节。 - BrianLegg
我无法在我的电脑上重现你的问题。但似乎模板zip中根本没有引用applicationhost.config。你能检查一下你的applicationHost.config模板里面有什么吗?http://stackoverflow.com/questions/31713624/where-is-the-template-for-applicationhost-config-file-stored 。我猜想,也许模板配置是从那个文件中获取的(不确定,只是尝试帮助)。 - Carlos Fernández
Carlos - 你比任何人都更接近解决方案。如果你愿意,你能否将你的评论编译成一个答案,我会授予你奖励金。再次感谢。 - BrianLegg
是的,当然。谢谢。 - Carlos Fernández
2个回答

1

根据BrianLegg的建议,我将我的评论移动到了回答中。

看起来问题与applicationhost.config文件有关。这个文件在包含模板的压缩文件中不存在。

您可以查看物理路径属性:

 <system.applicationHost>
          <sites>

也许它正在尝试访问第一个项目而不是新项目。
你能检查一下你的applicationHost.config模板里面有什么吗?
看一下applicationHost.config文件模板存储在哪里

Carlos - 我已将您的建议标记为答案,但赏金在您发布之前已过期。现在似乎无法授予它。抱歉 - 这是我的第一个赏金。 - BrianLegg

0

你看过全局路由了吗?可能是一些路由没有被创建或者损坏了。


我不确定你所说的“损坏”是什么意思,但 RouteConfig 和 web.config 是相同的。事实上,除了它们的行为之外,我似乎找不到这两个项目之间的任何区别。感谢您的建议。 - BrianLegg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接