c# - 找不到 CodeDom 提供程序类型 "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider ..."

标签 c# asp.net visual-studio-2015 webdeploy

我使用 visual studio 发布选项向我的主机发布了我的网站。

我的主机使用 asp.net 4.5.1 框架。

它在本地运行良好,但在我发布之后,却出现了这个错误。

enter image description here

我的本​​地 visual studio 解决方案文件夹包含一个名为 packages 的文件夹,它包含一些文件是否与错误有关?

这是我的配置文件(为清楚起见省略了其他行):

enter image description here

谢谢。

最佳答案

bin 文件夹中的程序集版本必须与 web.config 文件的 compilers 部分中指示的版本匹配。

当我更新服务器 bin 文件夹时,这个错误发生在我身上。因为包 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 已更新,所以我也需要更新 web.configcompilers 部分。

这可以通过简单地更新以下示例中的版本属性或将整个部分替换为开发人员版本来完成。

<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>

不需要重新启动 IIS。

关于c# - 找不到 CodeDom 提供程序类型 "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider ...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36387329/

相关文章:

c# - Lambda 表达式语法

c# - 这是 Visual Studio 2010 编译器中的错误吗?

asp.net - HTML.Encode() - 它是什么/如何防止 ASP .NET 中的脚本安全问题?

c++ - 如何让 wstring_convert::to_bytes 抛出 range_error 异常?

c# - 为什么 MySQL 数据库中的 Code First 没有创建模型 connectionString?

c# - 使用类库访问 Windows Azure 存储

c# GDI 边缘空白检测算法

javascript - 在 asp.net 中调用 javascript/jquery 函数

c# - 创建新数据库还是使用现有的 ASP.NET Identity 数据库?

c# - EF6 中的方法链接不输出正确的 SQL