専門ではないし面倒くさいし環境も整ってないからやりたくないのですが、仕事なので。
現象
既存のASP.NET Webサイトの機能追加で、ソースは開発サーバーから持ってきた物をポイと渡された状態。使ってる.NET Frameworkや使うべきVisual Studioのバージョンも不明な状態で作業開始を命じられたのですが……。とりあえず
- ソースをGitLabの管理下に置いて共有可能に。
- Visual Studio 2017でWebサイトとしてソースを開いて、ソリューションファイルの配下に置く(ソリューションを名前を付けて保存)。
- 使ってる.NET Frameworkを……とりあえず3.5にしてみる→Web.Configに大幅に加筆が行われたので、2.0にしてみると加筆された部分が消えた……ということは.NET Framework 2.0だ(今時!?)。
というところまでやって、念のためWebサイトのビルドも行ってエラーが起きない事を確認。さ、DB接続とか出来ないだろうけれどまずはデバッグ実行してみるか、と思ってF5を押したら……。
アプリケーションレベルを超えて allowDefinition='MachineToApplication'として登録されているセクションを使う事はできません。このエラーは、仮想ディレクトリがIISでアプリケーションとして構成されなかった場合に発生します。
さて、調べますか。
プログラミングASP.NET Core (マイクロソフト関連書)
- 作者:Dino Esposito
- 発売日: 2019/05/23
- メディア: 単行本
原因
簡単でした。サブフォルダーに別のASP.NETソースが混入してました。フォルダー名がすごく適当だったので、おそらく改修作業か何かの中でお試しでつくったものがそのままになっているのではないかと。で、Web.config等の設定情報やフォルダー構成も全部ダブってるのでVisual Studioがよく分からなくなっていたっぽいです。
ゴミフォルダーを消して、とりあえずこのエラーは消えました。