aspnet_compiler无法映射路径“/”。

7

我正在使用Windows 8.1 x64操作系统中的.NET 4.5.2和IIS 8.5。我在/localhost/上拥有一个ASP.NET网站。原始网站已被禁用,我创建了一个新的具有正确绑定的网站。我正在努力就地预编译它:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_compiler -c -v /

error ASPRUNTIME: Failed to map the path '/'.

我尝试了metabase路径路线:

aspnet_compiler -c -m lm/w3svc/2/root

error ASPRUNTIME: Failed to map the path '/'.

我可以通过指定物理路径来编译它,但我不想这样做,因为相同的应用程序存在于具有不同物理路径(开发、QA、生产)的不同服务器上。甚至元数据路径也不完全相同。 "/" 在任何地方都是相同的。
为了确保我没有疯掉,我在网站的一个页面上添加了这个。
Response.Write(Server.MapPath("/"));

我按预期做了,但是出了什么问题呢?

我哪里做错了吗?


我使用了我的MSDN支持积分之一来打开了一个案件,但是仍然无法解决这个问题。 - n8wrl
1个回答

3
这是一个权限问题;显然您需要成为管理员才能访问IIS元数据库。我看到两种可能的解决方案:
  1. 使用-p指定物理路径;这样aspnet_compiler就不需要访问IIS元数据库。(OP已经解释了,在服务器集群中这可能不是一个实际的解决方案。)
  2. 从提升的命令提示符(即“以管理员身份运行”)中运行aspnet_compiler,如此处建议的那样。

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