2016-04-03 15 views
11

私は自分のホストにVisual Studio公開オプションを使用して自分のWebサイトを公開しました。CodeDomプロバイダーの種類「Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider ...」を見つけることができません

私のホストはasp.net 4.5.1フレームワークを使用しています。

ローカルでは問題なく動作しますが、公開後にこのエラーが発生しました。

enter image description here

私の地元のVisual Studioソリューションフォルダは、パッケージという名前のフォルダが含まれ、それはいくつかのファイルが含まれていますがエラーに関係していますか?

これは(他の線が明確化のために省略)私の設定ファイルである:

​​

ありがとうございました。

+0

upvoteありがとう、私を案内してください –

+1

イメージを使用しないでくださいが、コンパイラの行を入力してください。 – Aristos

+0

ホスティング環境を十分に信頼していますか?また、完全で詳細なエラーメッセージを表示するには、Webサイトをホストしているサーバー上のブラウザを使用し、 'http:// localhost/[Site]'を参照してください。完全なエラーメッセージが表示されます。それに失敗した場合は、エラーページの説明に従ってweb.configを変更してください – Basic

答えて

1

WCFとWebアプリケーションの両方で同じエラーが発生しました。私はちょうど<system.codedom>タグを取り除きました、そしてそれは内容です、そして、それは解決しました。

+1

これは問題を解決するものではなく、コンパイラをダウングレードします。 – EKW

5

binフォルダのアセンブリバージョンはcompilersセクションのweb.configファイルに示されているバージョンと一致する必要があります。

このエラーは、私がサーバーbinフォルダを更新するときに起こります。 Microsoft.CodeDom.Providers.DotNetCompilerPlatformパッケージが更新されたので、compilersセクションをweb.configに更新する必要がありました。

以下の例のversion属性を更新するか、またはセクション全体を開発者のバージョンに置き換えるだけで済みます。

<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を再起動する必要はありません。

関連する問題