部署一个mvc项目到iis的时候提示有下面这样的错误,

看提示是Microsoft.CodeDom.Providers.DotNetCompilerPlatform,权限问题。

我是第一次遇到,所以只能搜索,显示在中文网站上搜索,发现基本上都是垃圾信息,很多人不验证一下就直接把别人的总结转载了,看似有很多信息,其实最后归源都是一个人写的。

用英文搜索,在stackoverflow(神网站)上看到一篇问答的,提问者遇到的问题和我是类似的。

[https://stackoverflow.com/questions/33319675/the-codedom-provider-type-microsoft-codedom-providers-dotnetcompilerplatform-cs](https://stackoverflow.com/questions/33319675/the-codedom-provider-type-microsoft-codedom-providers-dotnetcompilerplatform-cs]

第一名的答案大致意思就是这是mvc模版默认引入nuget的roslyn库造成的,所以去除掉相关的引用就可以了,我试了一下,确实就可以运行了。

但是这个解决方案总感觉不对劲,不是再从根本上解决问题,而是在回避问题。 微软默认引入roslyn的库说明这是是可以用的,现在不能用从提示上看是权限问题,那就应该是权限问题了。

继续搜索,看到了这篇文章

https://blogs.msdn.microsoft.com/webdev/2014/05/12/enabling-the-net-compiler-platform-roslyn-in-asp-net-applications/

介绍的是roslyn编译器在asp.net中的应用。

回过头去看stackoverflow的那个回答,发现底下有个低赞的回答提到了要添加IIS_IUSRS,我尝试了一下,果然OK了,看来就是权限问题了。

顺便研究了一下IIS权限,即对对应文件夹的权限。

有两个权限比较重要,匿名用户IUSR和和用户组IIS_IUSRS,

其中IUSR认证的时候不需要密码,匿名;

而IIS_IUSRS能够让AppPool拥有访问系统资源的足够权限,所有在这个用户组里的用户都可以。

https://www.cnblogs.com/wangqiideal/articles/4717286.html

记录一个IIS的服务器错误问题的解决方案的更多相关文章

  1. 记录一个bootstrap惨痛的错误

    记录一个bootstrap的错误,这个错误因为我删除了一个class就导致了页面上显示的错误,这是一个惨痛的教训,特此记录,提醒自己在做前端的修改时,一定要慎之又慎.如果真的要做改动,改完之后也要测一 ...

  2. ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面

    应用场景和使用目的 很多时候,我们在访问页面的时候,由于程序异常.系统崩溃会导致出现黄页.在通常的情况下,黄页对于我们来说,帮助是极大的,因为它可以帮助我们知道问题根源,甚至是哪一行代码出现了错误.但 ...

  3. web api 记录部署IIS获取服务器地址的类型

    获取服务器地址类型分多种,以下记录 1.HttpContext.Current.Server.MapPath("~/File") 返回的值为 D:\3Project\Code\Mo ...

  4. 记录一个很傻的错误(C++)

    使用的vscode写代码,导入了vector,memory,然后忘了导入string.但是代码中能够提示std::string也就让我忘了导入string.然后就莫名其妙的报错了.找了很久的错.记录下 ...

  5. 新装iis 页面503错误 DefaultAppPool停止解决方案

    配置:应用程序池-选择要配置的应用池-高级设置-标识-选择LocalSystem

  6. IIS配置ASP.NET和服务器错误页

    以下两种方法均为全站出错处理 方法一: 1.在Web.config配置文件中<system.web></system.web>中添加<customErrors mode= ...

  7. XP中IIS“HTTP 500 - 内部服务器错误”解决方法

    我先把主要过程叙述一下,叙述完有每个问题的具体操作方法. 今天我在XP上安装IIS,运行网站出现"HTTP 500 - 内部服务器错误". 打开HTML没有问题,打开ASP文件时就 ...

  8. IIS MVC 发布错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容

     转:http://blog.csdn.net/csethcrm/article/details/37820135 IIS MVC 发布错误 403.14-Forbidden Web 服务器被配置为不 ...

  9. asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” http:// ...

随机推荐

  1. 1003. [ZJOI2006]物流运输【区间DP+最短路】

    Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转 停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严 ...

  2. C# HttpWebRequest请求超时解决办法

    request.GetResponse();超时问题的解决,和HttpWebRequest多线程性能问题,请求超时的错误, 解决办法 1.将http的request的keepAlive设置为false ...

  3. 集合之LinkedList

    一.概述 LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList是List接口链表的实现.基于链表实现的方式使得L ...

  4. 1363: Count 101 (经典数位dp)

    1363: Count 101 Submit Page    Summary    Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: ...

  5. L2-025 分而治之(图)

    (这不会是我最后一天写算法题的博客吧...有点感伤...) 题目: 分而治之,各个击破是兵家常用的策略之一.在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破.为 ...

  6. mysql5.7.22 下载过程

    进入官网www.mysql.com ,选择downloads: 选择 Community 再选择MySQL community server 选择5.7的版本,这个看自己选择,有问题看标题 选择5.7 ...

  7. 深入虚拟内存(Virtual Memory,VM)

    我们应该知道物理内存(Physical Memory)指的是硬件上的内存,即 RAM.它通常指的是插在主板上的内存条,给进程提供临时数据存储的设备.因为 CPU 可以直接从物理内存中读取数据和指令,所 ...

  8. C# 用QQ企业邮箱发邮件

    问题System.Net.Mail下的SmtpClient来发送邮件,而System.Net.Mail only仅支持Explicit SSL 不要465端口,用25,不用EnableSsl = tr ...

  9. flex作图

    <?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="htt ...

  10. 20145234黄斐《网络对抗技术》实验八、Web基础

    Apache 先通过apachectl start命令开启Apach,使用netstat -aptn命令查看端口占用: 因为端口号80已经被占用(上次实验设置的),所以先修改/etc/apache2/ ...