无法找到运行时目录

时间:2015-12-23 21:11:33

标签: c# asp.net iis windows-server-2008-r2

提前为任何不正确使用的术语道歉...我对网络开发/托管和IIS相当陌生

我正在尝试托管64位ASP.Net 5(MVC 6)Web应用程序,该应用程序在Windows Server 2008 R2 Standard计算机上通过IIS 7.5使用beta 7。

我从Visual Studio 2015(在Windows 8笔记本电脑上)发布到服务器上的共享文件夹。我的IIS Web应用程序的物理路径是在发布目录中创建的wwwroot文件夹,网站似乎尝试正确启动...

但是,每当网站尝试运行时,我都会收到一条错误,指出以下内容:

  

无法找到运行时目录' D:\ www \ mysite \ wwwroot \ .. \ approot \ runtimes \ dnx-clr-win-x64.1.0.0-beta7'

     

可能的原因:

     
      
  1. 运行时未与应用程序一起打包
  2.   
  3. 打包的运行时体系结构与应用程序池体系结构不同。
  4.   

令人沮丧的是,如果我复制并粘贴IIS声称它无法找到并粘贴到Windows资源管理器中的链接,它会将我引导到确实存在的目录。这排除了第一个解释。就第二种解释而言,我已经在Visual Studio中检查了我的发布配置文件,并确保它确实是测试版7的64位版本。

据我所知,正确的运行时 与已发布的文件一起发送,它们是正确的版本。

我有什么遗失的吗?该应用程序在Visual Studio 2015中运行良好。我不知道为什么在IIS上运行时它找不到一个不仅存在,而且可以随时浏览的文件夹。

更新:我继续为这个问题而战,发现了一些奇怪的症状......我可以从任何地方成功制作网站应用其他比D:\ www文件夹。我将我网站的已发布文件容器直接插入D驱动器并直接从该驱动器创建了一个站点,并且它顺利启动。我也能够在C盘上复制它,甚至将已发布的文件容器放入名为" wwww"的文件夹中。在D驱动器中(因此其物理路径为D:\ wwww \ MySite \ wwwroot而不是D:\ www \ MySite \ wwwroot)。

有人知道为什么" www"有问题吗?这里的文件夹结构有几个其他(虽然更旧)网站从www文件夹运行,所以这个应用程序放在同一区域的理想选择。然而,它似乎无处不在

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

对于它的价值,我采用的解决方案是不将应用程序的发布文件夹放在D:\ www文件夹中。我最终只是在D驱动器的根目录中创建另一个文件夹,并将Web应用程序指向IIS。

答案 1 :(得分:0)

可能的原因之一可能是IIS用户的权限不足。

我为approot IIS_IUSRS添加了{{1}}(运行时)文件夹的权限。看起来IIS用户由于权限不足而无法读取和加载此目录的内容。之后它运作良好。