Web サイトをデプロイしようとしていますが、次のエラーが表示されます。
構成セクション 'system.web/globalization' にアクセスしようとしたときに、ConfigurationPermission の要求が失敗しました。すべての呼び出し元がこのセクションのデータにアクセスできるようにするには、このセクションが宣言されている構成ファイルでセクション属性 'requirePermission' を 'false' に設定します。---> System.Security.SecurityException: タイプ 'System.Configuration.ConfigurationPermission, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' のアクセス許可の要求が失敗しました。
問題は、webconfig ファイルでそのセクションを定義していないことです。したがって、次のように定義しようとしました。
1) このコードを webconfig ファイルの一番下 (設定終了タグの直前) に追加しました。
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="fr-FR"
uiCulture="fr-FR"
/>
2)ファイルのセクション部分にこのコードを追加しました:
<configSections>
<section type="System.Web.Configuration.GlobalizationSection, System.Web.Globalization" name="globalization" requirePermission="false" />
</configSections>
しかし、それはまだ機能していません。共有ホスティング プランを利用しているため、アプリケーションの信頼レベルを変更できません。私は webconfig にあまり熟練していません。msdn と google でいくつかの調査を行い、このソリューションを考え出しました。しかし残念ながら、私はまだ同じエラーが発生しています。何か案が ?
更新:多くの例で、PublicKeyToken、VersionNumber などが type 属性に記述されていることに気付きました。使用しているアセンブリの正しい情報を見つけようとします。さて、アセンブリに関する詳細を追加しましたが、機能しませんでした:
<section type="System.Web.Configuration.GlobalizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a " allowDefinition="Everywhere" name="globalization" requirePermission="false" />