質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

Q&A

0回答

2570閲覧

IIS下に移行すると、 構成ファイルで拒否されます。

minnanogo

総合スコア3

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

0グッド

0クリップ

投稿2020/05/03 07:41

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
しています。

開発環境(IIS Express: https://localhost:44341/Home/Contact) で順調に開発が進みました。
IISに アプリケーション を作成し 起動しました。 (http://localhost/Contract/Home/Contact)
本番環境に移行し 起動したところ。

下記のメッセージがてました。


構成にエラーがあります。
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。

パーサー エラー メッセージ: この構成セクションはこのパスでは使用できません。これはサイト管理者が、継承された構成ファイルから <location allowOverride="false"> を使用して、このセクションへのアクセスをロックしたときに発生します。

ソース エラー:

行 5: -->
行 6: <configuration>
行 7: <appSettings>
行 8: <add key="webpages:Version" value="3.0.0.0"/>
行 9: <add key="webpages:Enabled" value="false"/>

以前 Visual Studio 2015で開発してたときは、配置/動作共に順調に動作していました。

エラーメッセージ

該当のソースコード

ソースコード

試したこと

エラー文言から、
web.configの設定と類推し、

allowOverride="true" で思考したのですが、同じでした

visual studio の構成を  https構成から  http 構成に変えても同じでした。

補足情報(FW/ツールのバージョンなど)

visual studio 2019 Version 16.5.4
OS 名 Microsoft Windows 10 Pro
バージョン 10.0.18363 ビルド 18363

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yasumichi

2020/05/03 08:01

web.config は、アプリケーション側の設定ファイルか、IIS 側の設定ファイルか、どちらでしょうか? 大本の IIS の設定ファイル側を修正する必要があると思うのですが。
退会済みユーザー

退会済みユーザー

2020/05/03 13:51

Core ではないですよね? > IISに アプリケーション を作成し 起動しました。 (http://localhost/Contract/Home/Contact) > 本番環境に移行し 起動したところ。 それをどのようにやったのか、具体的に手順を書いてください。
minnanogo

2020/05/03 14:47

Coreでなく、.net.Frameworkです。 アプリ Rootのweb.config wwwRootのweb.config を順次変えてみました。同様でした。 https://support.microsoft.com/ja-jp/help/815174/how-to-make-application-and-directory-specific-configuration-settings を参考にして、以下のように変えました。 <configuration> <location path=”Default Web Site/MyApp” allowOverride="true"> <system.web> <authorization> <allow users="?"/> </authorization> </system.web> </location> </configuration> Machine.Configは、該当箇所が不明でして、未確認です。
退会済みユーザー

退会済みユーザー

2020/05/03 22:09 編集

私の質問の答えになってないです。 Visual Studio で作成した ASP.NET Web アプリを、同じ開発マシンのローカル IIS で動くように設定して、それを直接ブラウザから呼び出すとか、 Visual Studio から起動してデバッグするとかしたいのですよね? そうであれば、それなりの設定が必要ですが、その設定どのように行なったのか・・・と言うのが質問です。(それがきちんとできてないのが原因として疑わしいので)
minnanogo

2020/05/04 00:53

意図の誤読、失礼しました。 外部要因を全て排除し、最低限の手順にしても同様のことが起こりました。 開発環境 VS2019 て MVC プロジェクト生成   各種設定値は、デフォルトのまま。  .net.asp MVCプロジェクト プロジェクト 「Contract」 場所は、c:\deve\Contract\でこの下に,contolers,views,bin等の一連のフォルダーが連なります。 docControle, indexAction a.view web.config は、自動生成のまま 開発環境下 http://localhost:50177/doc/index/a でa.viewが表示されます。 この状態でIISのアプリケーション追加で  エイリアス名を「cont」物理パスを「c:\deve\Contract」としました。 web.configはそのままです。 起動すると。 http://localhost/cont/doc/index/a ▼ 構成にエラーがあります。 説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。 パーサー エラー メッセージ: この構成セクションはこのパスでは使用できません。これはサイト管理者が、継承された構成ファイルから <location allowOverride="false"> を使用して、このセクションへのアクセスをロックしたときに発生します。 ソース エラー: 行 5: --> 行 6: <configuration> 行 7: <appSettings> 行 8: <add key="webpages:Version" value="3.0.0.0" /> 行 9: <add key="webpages:Enabled" value="false" /> ▲ となります。 ちなみに、単純なページb.htmlを作り、 http://localhost/cont/b.html を参照すると、普通に表示します。 ルーティング等の基本設定はOKと判断しました。
退会済みユーザー

退会済みユーザー

2020/05/04 03:10 編集

質問者さん独自の実装・やり方で何がどうなっているのか分かりません・・・が、とにかくエラーメッセージが言うようなことはないか、IIS 用の ApplicationHost.config ファイルの中身をチェックしてはいかがですか? IIS 用の ApplicationHost.config ファイルは system32¥inetsrv¥config フォルダにあります。 (注:IIS Express は IIS 用の ApplicationHost.config ファイルを共有しません。別の場所に別の ApplicationHost.config ファイルが存在し、それを使用します。想像ですが、だから開発環境では問題がなかったのかも)
minnanogo

2020/05/05 00:20

ApplicationHost.config を調べてみました。 <location path="" overrideMode="Allow"> となっており、開発環境 IIS-Expressと微妙な違いがありました。 が、overrideMode="Allow" に変えても、動作は変わりませんでした。 試行錯誤の末、問題源となっている一連の <<configuration>タグをコメント化しました。 <!-- <configuration> <appSettings> <add key="webpages:Version" value="3.0.0.0" /> <add key="webpages:Enabled" value="false" /> --> 表面的には、正常稼働するようになりました。 原因不明のままなので、「これで解決した。」とはならないし、副作用の要因が残ったままなので、 気持ち悪いでずか取り合えず、開発続行できる状態にはなりました。 私の環境だけの現象なのか、他でも起こるのかも含めて、今後の検討としました。 貴重な情報教唆を有難うございました。
退会済みユーザー

退会済みユーザー

2020/05/05 00:48

<add key="webpages:Enabled" value="false" /> はデフォルトでは true のようですので、それをコメントアウトするとまずいかも。詳しくは以下の記事を見てください。 https://blog.shibayan.jp/entry/20110521/1305981506 ちゃんと原因を探して問題を解決した方がよさそうな気がします。一度、Visual Studio 2019 のテンプレートを使った MVC5 プロジェクトを自動生成し、中身には一切手を加えないで、IIS でサイトに設定してみてはいかがですか? それで問題が起きなければ質問者さん独自の設定・コード・やり方に問題がありそうということが分かると思います。
minnanogo

2020/05/05 12:55

問題の件。 同じPCで  VS2015 でも確認しました。 VS2015 で新規 Web.mvcアプリを設定しました。全部デフォルトで構築しました。 (*) 例の 「ユーザーの ASP.NET アプリケーション」がでるアプリです。 これを IISでアプリケーション指定で起動すると、同様に、 「この構成セクションはこのパスでは使用できません。これはサイト管理者が、継承された構成ファイルから <location allowOverride="false"> を使用して、このセクションへのアクセスをロックしたときに発生します。」 が出ます。 VS2015が入っている他のPCで同様のことを行うと、何ら問題なく表示しました。 不思議に思い、その PCに VS2019を入れて、同じことをすると、すんなり動作してくれました。 明らかに、特定のPCだげの現象でした。  (これは、これで納得できないのですが。) 違いは、CPU/OSの違いはありますが Visual Studio的には、差異はないと思っています。 導入アプリの差異は、SVN の有無、RDBの有無です。 正常PCには、 MySQL,SqlServerが稼働しており、稼働6年目です。Office2013です。 問題PCには、SVNが入っています。稼働1年です。 Office2019です。 この程度の違いしかないので、不思議なことです。 いずれにしても、今回の相談事は、私のPC特有問題だと、判明しました。お騒がせしました。 この手の問題は、難儀です。後日、クリーンインストールして確認することにし、当面は、該当箇所をコメントアウトして続行することにします。 ありがとうございました。
退会済みユーザー

退会済みユーザー

2020/05/06 00:29 編集

applicationhost.config が PC によって違うと言うことはないですか? 上の質問者さんのコメントから考えるとそこが怪しそうですが、調べましたか? あと、アプリケーションとして IIS のどこかのサイト下にデプロイしたなら、そのサイトの web.config も PC によって違わないかも調べてみてください。
minnanogo

2020/05/06 14:58

i7:おかしい崖を i5:正常な側 ●ApplicationHost.configの比較 属性の登場順に差があるのは、不思議たが、無関係と思われる <section name="httpCompression" allowDefinition="Everywhere" overrideModeDefault="Allow" /> <section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" /> OKのほうに <sectionGroup name="wdeploy"> <section name="backup" overrideModeDefault="Deny" allowDefinition="MachineToApplication" /> </sectionGroup> この文がある。...なんか引っ掛かる....(入れ替えテストはまだです) うまく行っている方が 1116行で、ダメなほうは、1056行で、これは、いろいろテストした結果のゴミが残っているようす。 とりたてて、大きな差異は、見当たりませんでした。 ●administraion.config の比較 <sectionGroup name="system.webServer">は正常側が一つ多いです。 多いのは、 <section name="delegation" overrideModeDefault="Deny" allowDefinition="MachineToWebRoot" /> なので無関係っぽいです。 <moduleProviders> も正常のほうが多く、 <add name="WebDeployment" type="Microsoft.Web.Deployment.UI.PackagingModuleProvider, Microsoft.Web.Deployment.UI.Server, Version=7.1.2.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add name="WebDeployment_Current" type="Microsoft.Web.Deployment.UI.PackagingModuleProvider, Microsoft.Web.Deployment.UI.Server, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add name="PlatformInstaller" type="Microsoft.Web.Management.PlatformInstaller.Server.PlatformInstallerModuleProvider, Microsoft.Web.Management.PlatformInstaller.Server, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> この3行が多い。 <module> も正常の方が <add name="WebDeployment" /> <add name="WebDeployment_Current" /> <add name="PlatformInstaller" /> 3行多い。 目立った差異はないようです。 うまく行っているほうが、多いので、administraion.config を入れ替えると、モジュールの関係で動きそうになかったので、 うまく行ってる方に、ダメなほうの administraion.configを入れ替えました。 正常に動作しました。 デプロイした PC は、開発機と同じ PCです。 Web.configも合わせました。
退会済みユーザー

退会済みユーザー

2020/05/07 02:33

administraion.config は影響ないと思います。関係ありそうなのは ApplicationHost.config、上位の web.config なのですが、質問者さんが調べた結果、それらのどこにもエラーメッセージにあった <location allowOverride="false"> というような設定はなかったということですね。 とすると、ちょっと考えにくいですが、残る可能性は machine.config の設定ぐらいでしょうか。 Machine.config ファイルで location 要素を使用する https://support.microsoft.com/ja-jp/help/815174/how-to-make-application-and-directory-specific-configuration-settings それを調べても問題ないということですと、自分にはもう分かりません。
minnanogo

2020/05/08 03:29

ご提案、ありがとうございます。 Machine.Configですが、とりたてて、差異はありませんでした。 ご提示のページを参考にして、 <configuration> <location path="Default Web Site/MyApp” allowOverride=”false”> <system.web> <authorization> <allow users=”?” /> </authorization> </system.web> </location> </configuration> の設定を試行錯誤しましたが、状況は変わりませんでした。 不思議です。 コメントアウトしても、開発機環境では、副作用がでません。 納品先のPCでテストしてもらっても不具合は、生じませんでした。 私のPC固有の問題だと、消極的納得で、保留にしたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問