【问题标题】:IIS 7 unable to find Microsoft.CodDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider DLLIIS 7 无法找到 Microsoft.CodDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider DLL
【发布时间】:2016-09-20 15:57:02
【问题描述】:

因此,当使用自定义构建配置部署我们的 Web 服务时,部署后出现错误:

找不到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform。

尝试浏览网站时。查看 bin\~configurationName~ 文件夹,我可以找到指定的 DLL。错误是在我的 web.config 中引用这些行:

  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.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.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>

奇怪的是,在同一台服务器上为 Debug 构建/部署时,我没有遇到这个问题,而且一切似乎都正常(这让我相信我的项目配置存在这个错误,而不是部署服务器) .当出现此错误时,我正在构建的配置是我们自定义的 QA 配置,它输出到 bin\QA,所以我想知道是否需要做一些特殊的事情来让 ASP.NET 编译器查看特殊输出文件夹?

【问题讨论】:

  • 好吧,看来我只需要将这些文件放在 bin\ 中,而不需要 build config 子文件夹。进行了这些更改,现在一切都很好。因此,将来遇到此问题的任何人,请确保所有库最终都位于站点的 bin\ 文件夹中,而不是 bin\~config~ 中。
  • 您可以将其发布为答案然后接受它,以明确您的问题已解决。

标签: c# asp.net .net iis-7 c#-6.0


【解决方案1】:

所以这是因为我已经将站点的所有程序集嵌套在一个文件夹下,该文件夹的配置名称就像您在控制台/Windows 应用程序中所做的那样(例如“bin\Debug”)。对于 Web 应用程序,程序集嵌套在配置文件夹下(例如,它们应该放在 'bin\' 中)。

希望这对其他人有所帮助!

【讨论】:

    【解决方案2】:

    长期的部署解决方案是暂时避免使用 Roslyn。

    问题是您在 IIS 上使用 Roslyn 编译器 和引用。 Roslyn 仍然没有在许多部署服务器上获得完全支持。

    解决方案是移除 Roslyn,因为这不会影响项目功能!

    我为几乎与此类问题相关的另一个问题写了类似的答案。看看我的回答https://stackoverflow.com/a/42668206/1436594

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多