未能加载文件或程序集“Microsoft.CodeDom.Providers.DotNetCompilerPlatform

boeyXie 2019-01-16 02:59:00
项目通过两种方式
第一:项目生成到bin文件,然后把bin拷贝到IIS发布的文件夹中替换,通过IIS访问没问题
第二:项目发布到bin文件,然后直接用IIS访问,则报如下错误:



现在不知道到底哪里出了问题?
...全文
4256 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangjinmiao 2020-02-27
  • 打赏
  • 举报
回复 1
发布web服务时,不要把文件发布在桌面上,试试D:/release
我也是同样的问题,换个发布路径就好了
北京.NET 2019-05-13
  • 打赏
  • 举报
回复 1
发布文件夹 属性-安全-权限 搜索用户EVERYONE 给EVERYONE 所有权限
回首笑浮生 2019-05-13
  • 打赏
  • 举报
回复
找到web.config下的配置节system.codedom/compilers,这里配置的版本不是1.0.3.0所导致。很多情况下是服务器上webconfig直接从别的地方拷贝过来,但又跟你开发环境下不同所导致。
654016803 2019-01-18
  • 打赏
  • 举报
回复
我的意思是,我选择项目右键点击发布,然后把发布的这个文件夹通过IIS发布出去,这样就不行 如果你没有操作错误,那这怎么做是不会有问题的。 仔细查看你iis指向的文件夹,跟你发布的文件夹,是否对等
ゞ瀟灑亾眚ゞ 2019-01-18
  • 打赏
  • 举报
回复
虽然不知道怎么弄,我就回复回复。。
boeyXie 2019-01-17
  • 打赏
  • 举报
回复
今天上午,我重新down一份项目下来,然后发布部署在一个新建的文件夹下,是没有问题的。经测试,发现是原来发布IIS的文件夹权限问题,我添加了一个everyone权限,然后再去访问就可以了。真的很奇怪,一个文件夹下,发布了两个IIS在同一个文件夹下的不同目录里,其中一个没有everyone权限是没有问题,就是另外一个原本是正常的,但是不添加everyone权限就出现了这个问题。 我在想everyone权限应该是继承administrator权限的吧?为什么有administrator权限还要添加一个everyone权限?
地下室小红叔 2019-01-16
  • 打赏
  • 举报
回复
那有可能是服务器上的.net版本不支持,不存在Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.0.3,直接上传也没用,因为它可能还引用了其他dll,一个缺了都加载不成。
boeyXie 2019-01-16
  • 打赏
  • 举报
回复
引用 12 楼 丰云 的回复:
没有,提交时提交到代码管理服务器,跟你本地编译没有关系
那还有什么原因可能会导致这种情况呢?真没辙了
丰云 2019-01-16
  • 打赏
  • 举报
回复
没有,提交时提交到代码管理服务器,跟你本地编译没有关系
boeyXie 2019-01-16
  • 打赏
  • 举报
回复
引用 10 楼 丰云 的回复:
那还真是稀奇了。。。 用nuget整理一下你的引用包试试
请教一下,这个问题和本机没有提交的代码有关系吗?比如:我新增了一个页面、控制器、添加了表,但是我没有提交,这个应该没有关系吧?
丰云 2019-01-16
  • 打赏
  • 举报
回复
那还真是稀奇了。。。 用nuget整理一下你的引用包试试
boeyXie 2019-01-16
  • 打赏
  • 举报
回复
引用 8 楼 丰云 的回复:
[quote=引用 7 楼 boey_xuan 的回复:] [quote=引用 6 楼 丰云 的回复:] [quote=引用 5 楼 boey_xuan 的回复:] 我的意思是,我选择项目右键点击发布,然后把发布的这个文件夹通过IIS发布出去,这样就不行
如果你没有操作错误,那这怎么做是不会有问题的。 仔细查看你iis指向的文件夹,跟你发布的文件夹,是否对等[/quote] 上面是发布文件夹 下面是IIS浏览文件夹[/quote] 那就查看你的发布文件夹的权限,是否分配了iis访问权限[/quote] 这个权限是有的,以前一直都没问题,就是最近才出现这个问题。
丰云 2019-01-16
  • 打赏
  • 举报
回复
引用 7 楼 boey_xuan 的回复:
[quote=引用 6 楼 丰云 的回复:] [quote=引用 5 楼 boey_xuan 的回复:] 我的意思是,我选择项目右键点击发布,然后把发布的这个文件夹通过IIS发布出去,这样就不行
如果你没有操作错误,那这怎么做是不会有问题的。 仔细查看你iis指向的文件夹,跟你发布的文件夹,是否对等[/quote] 上面是发布文件夹 下面是IIS浏览文件夹[/quote] 那就查看你的发布文件夹的权限,是否分配了iis访问权限
boeyXie 2019-01-16
  • 打赏
  • 举报
回复
引用 6 楼 丰云 的回复:
[quote=引用 5 楼 boey_xuan 的回复:] 我的意思是,我选择项目右键点击发布,然后把发布的这个文件夹通过IIS发布出去,这样就不行
如果你没有操作错误,那这怎么做是不会有问题的。 仔细查看你iis指向的文件夹,跟你发布的文件夹,是否对等[/quote] 上面是发布文件夹 下面是IIS浏览文件夹
丰云 2019-01-16
  • 打赏
  • 举报
回复
引用 5 楼 boey_xuan 的回复:
我的意思是,我选择项目右键点击发布,然后把发布的这个文件夹通过IIS发布出去,这样就不行
如果你没有操作错误,那这怎么做是不会有问题的。 仔细查看你iis指向的文件夹,跟你发布的文件夹,是否对等
boeyXie 2019-01-16
  • 打赏
  • 举报
回复
引用 4 楼 丰云 的回复:
求毛线的大神,你知道什么是发布文件夹吗? 知道网站为什么要发布吗? “第二:项目发布到bin文件,然后直接用IIS访问”这句话几个意思,你解释清楚!
我的意思是,我选择项目右键点击发布,然后把发布的这个文件夹通过IIS发布出去,这样就不行
丰云 2019-01-16
  • 打赏
  • 举报
回复
求毛线的大神,你知道什么是发布文件夹吗? 知道网站为什么要发布吗? “第二:项目发布到bin文件,然后直接用IIS访问”这句话几个意思,你解释清楚!
boeyXie 2019-01-16
  • 打赏
  • 举报
回复
求大神!!!
boeyXie 2019-01-16
  • 打赏
  • 举报
回复
引用 1 楼 丰云 的回复:
在你本地的bin文件夹里找到这个dll,拷贝到发布文件夹就可以了 不过最好检查一下这个引用项的引用模式,最好改成复制到本地模式
更正一点,我这里的环境是服务器,我本机不管是发布还是生成都没问题,并且我把服务器上的发布报错的文件夹拷贝下来,部署到我本地是OK的。我刚刚试了你说的方法,不行呢,我整个文件拷贝过去都不行。
丰云 2019-01-16
  • 打赏
  • 举报
回复
在你本地的bin文件夹里找到这个dll,拷贝到发布文件夹就可以了 不过最好检查一下这个引用项的引用模式,最好改成复制到本地模式

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧