【发布时间】:2015-03-06 01:35:53
【问题描述】:
我正在尝试将一个站点发布到我正在使用 MVC6 (beta 3) 和 Visual Studio 2015 (CTP 6) 开发的 IIS。我已将发布设置为针对 x64 版本的 KRE。发布一切顺利,没有报告任何错误,但我根本无法让网站运行。
第一个错误是找不到project.json,但我通过在添加到web.config 文件夹中的kre-app-base 中添加value 键来解决这个问题,所以内容是:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="kpm-package-path" value="..\approot\packages" />
<add key="bootstrapper-version" value="1.0.0-beta3" />
<add key="runtime-path" value="..\approot\packages" />
<add key="kre-version" value="1.0.0-beta3" />
<add key="kre-clr" value="clr" />
<add key="kre-app-base" value="..\approot\packages\ElectricFreedom.WebUI\1.0.0\root" />
</appSettings>
</configuration>
然后我得到另一个错误:
在错误的页脚中,它指出它正在使用Microsoft.AspNet.Loader.IIS 版本“beta2”!当项目全部设置为使用“beta3”时,为什么要这样做?
我已经为我的项目检查了project.json,并且所有依赖项都列为“beta3”版本,但是除了“beta3”版本之外,发布仍在复制许多“beta2”版本。例如,查看Microsoft.AspNet.Loader.IIS 的目录会显示两个子目录,一个用于“beta2”,另一个用于“beta3”。如果我删除“beta2”目录,那么我会完全收到另一个错误:
如您所见,此错误表明它使用的是“beta3”版本的Microsoft.AspNet.Loader.IIS,但它现在抱怨的是依赖注入。
所有这些在带有 MVC 6(beta 2)的 Visual Studio 2015 CTP5 中运行良好。我唯一要做的就是将value 键添加到kre-app-base,因为出于某种原因,发布未能做到这一点。该站点在 IIS Express 中调试时也可以正常工作,并且在执行此操作时我没有收到上面报告的任何错误。
是否有任何配置文件或设置可能导致这些错误发生?我错过了什么明显的东西吗?
谢谢,
【问题讨论】:
-
我对它进行了测试,发现它在 CTP6 中对我有用,就像在 CTP5 中一样。只需确保您已将 wwwroot 指向应用程序的根目录即可。
-
指向wwwroot。当我使用 CTP5 时它工作正常,但同一个项目不再适用于 CTP6。我只能假设某些设置在版本之间发生了变化,这导致我的项目失败。麻烦在于找到发生了变化的地方并确保我的项目具有新设置...
标签: iis-8 asp.net-core visual-studio-2015 asp.net-core-mvc