web-dev-qa-db-ja.com

CodeDomプロバイダータイプ "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider ..."が見つかりませんでした

Visual Studioの公開オプションを使用して、ホストにWebサイトを公開しました。

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

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

enter image description here

ローカルのVisual Studioソリューションフォルダーにはpackagesという名前のフォルダーが含まれており、エラーに関連するファイルがいくつか含まれていますか?

これは私の設定ファイルです(わかりやすくするために他の行は省略しています):

enter image description here

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

16
user6013886

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

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

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

<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再起動を必要としません。

11
MiguelSlv

[プロジェクト]> [プロパティ]に移動してください。 [Webのパッケージ化/公開]タブと[展開するアイテム(すべての展開方法に適用)]セクションで、ドロップダウンリストから[このプロジェクトフォルダー内のすべてのファイル]を選択し、Webアプリケーションを再度公開します。

役に立てば幸いです。

1
Alireza Zamani