提前为任何不正确使用的术语道歉...我对网络开发/托管和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'
可能的原因:
- 运行时未与应用程序一起打包
- 打包的运行时体系结构与应用程序池体系结构不同。
醇>
令人沮丧的是,如果我复制并粘贴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文件夹运行,所以这个应用程序放在同一区域的理想选择。然而,它似乎无处不在但。
非常感谢任何帮助!
答案 0 :(得分:0)
对于它的价值,我采用的解决方案是不将应用程序的发布文件夹放在D:\ www文件夹中。我最终只是在D驱动器的根目录中创建另一个文件夹,并将Web应用程序指向IIS。
答案 1 :(得分:0)
可能的原因之一可能是IIS用户的权限不足。
我为approot
IIS_IUSRS
添加了{{1}}(运行时)文件夹的权限。看起来IIS用户由于权限不足而无法读取和加载此目录的内容。之后它运作良好。