ASP.Netでオンラインプロジェクトをダウンロードしました。アプリケーションの実行中にエラーが発生します
allowDefinition='MachineToApplication'として登録されているセクションをアプリケーションレベルを超えて使用するとエラーになります。このエラーは、仮想ディレクトリがIISでアプリケーションとして構成されていないことが原因で発生する可能性があります。
これを機能させるには、web.configまたは他の場所でどのような変更を加える必要がありますか?
ASP.Netでオンラインプロジェクトをダウンロードしました。アプリケーションの実行中にエラーが発生します
allowDefinition='MachineToApplication'として登録されているセクションをアプリケーションレベルを超えて使用するとエラーになります。このエラーは、仮想ディレクトリがIISでアプリケーションとして構成されていないことが原因で発生する可能性があります。
これを機能させるには、web.configまたは他の場所でどのような変更を加える必要がありますか?
この「喜び」に出逢えた。Web アプリケーションをリリース モードで公開した直後に表示されるようです。
私が見つけた問題を一貫して回避する唯一の方法は、次のチェックリストに従うことです。
この投稿に出くわしただけで、それが私に起こっていました。プロジェクトとエラー
だけが消えます。Clean
(VS2010 のバグに違いない)
私のウェブサイトの2番目のバージョンを構築するときにこの問題が発生しました。私が最初にそれを作ったとき、それは起こりませんでした。
binフォルダーとobjフォルダーを削除し、Clean Solutionを実行して再構築しましたが、今回は問題ありません。
なし。Web サイトを配置したディレクトリをIIS 内の Web アプリケーションとして設定する必要があります。
このエラーは、プロジェクトを Web サイトとして開こうとすると発生します。Web サイトまたはプロジェクトを作成したかどうかを判断する最も簡単な方法は、ソリューション フォルダー (つまり、コードを保存した場所) を確認し、ルート ディレクトリに *.sln ファイルがあるかどうかを確認することです。プロジェクトを作成しました。
追加するために、Visual Studioメニューから「ファイル」、「Webサイトを開く」を選択して、しばらく前に作成したプロジェクトを開こうとしたときに、「ファイル」、「プロジェクトを開く」を選択する必要があったのに、このエラーが発生しました。代わりは。私は気づいたらすぐに顔を合わせました:)
ビューのビルドが有効な MVC プロジェクトがある場合、解決策の 1 つは、ビルドの前に obj フォルダーを削除することです。プロジェクト ファイルに追加します。
<Target Name="BeforeBuild">
<!-- Remove obj folder -->
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
<!-- Remove bin folder -->
<RemoveDir Directories="$(BaseOutputPath)" />
</Target>
記事は次のとおりです:ビルドまたはデプロイの前に bin および/または obj フォルダーを削除する方法
このエラーは、使用しているコードが、IIS で仮想ディレクトリがセットアップされることを想定していることを示しています。
ドキュメントを参照して、必要な仮想ディレクトリを追加します。が含まれているディレクトリである必要がありますweb.config
(ルート ディレクトリではありません)。
最近の web.config の変更が間違った web.config ファイルにある可能性があります。
Views/web.config<machineKey...>
にプロパティが追加されました。クリーンアップとリビルドの回数に関係なく、エラーは残りました。修正は、プロパティをルート/web.configに移動することでした。
このエラーが発生した場合
アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されたセクションを使用するとエラーになります。このエラーは、IIS で仮想ディレクトリがアプリケーションとして構成されていないことが原因である可能性があります
ソリューション
VS 2012 でも同じ問題がありました。
<MvcBuildViews>false</MvcBuildViews>
持っている場合、1 つの解決策は、コンパイラによって生成されたプロジェクトの obj フォルダーの内容を削除することです。
私の場合、そこにウェブサイト全体の別のコピーを含む「バックアップ」フォルダーがありました。これは別のことを意味するweb.config
ため、ビルドはこのエラーで失敗しました。「バックアップ」フォルダーを削除し、デバッグ ビルドとリリース ビルドでクリーン ソリューションを実行すると、エラーが消えました。
私の場合、
ソリューションには、6 つのプロジェクト、1 つのメイン ディレクトリと 5 つのサブ ディレクトリが含まれています。web.config を持つすべてのサブディレクトリ。
サブディレクトリ内でページを実行すると、同じエラーが発生しました。
この行を web.config から削除しました。
<authentication mode="Windows"/>
それは私のために働いた。
プロジェクトをクリーンアップします /obj フォルダーを削除します (おそらくパブリッシュとデプロイを使用しますか? - バグがあります)
私の問題は、VS2010 の新規インストール時に、誤って Web サービスを事前に完了した場所に公開してしまったことです。
PreCompiledWebというフォルダーに公開しましたが、 web.config が存在するために、それが台無しになったと思われます。
単純にフォルダーを削除し、プロジェクトを更新しました。
このエラーをダブルクリックすると、誤った web.config ファイルが表示され、ひっくり返されました。
.Net Framework 2.0 のプロジェクトをダウンロードして VS2008 で開きたい場合は、バージョンの問題である可能性があります。その場合、最新バージョンにアップグレードする必要があり、VS は同じルート ディレクトリにフォルダーのバックアップを作成します。ここで答えを得る。
ソリューションに作成された Web 配置プロジェクトを使用してソリューションをビルドすると、このエラーが発生しました。Web 配置プロジェクトがビルドされているフォルダーを削除することで、エラーを解決します。このフォルダは、WDP プロパティの「プロジェクト フォルダ」属性で指定されます。
bin および obj フォルダーを削除します。次に、ソリューションを再構築します。
Webサイトの公開スクリプトに追加しました。最後に、Webサイトフォルダからobjフォルダを削除します。
おそらく、仮想ディレクトリとして構成されていないプロジェクト フォルダー内にサブ asp.net プロジェクト フォルダーがあります。IIS で実行するようにプロジェクトをセットアップします。
私はウェブサイトのプロジェクトを持っています。
私の場合、ソリューション ファイルを別のパスに移動したため、問題が発生しました。以前の場所に復元したところ、問題はなくなりました。
プロジェクトファイルで「true」が有効になっていると、この問題がより頻繁に発生します。
ジョニーが言うように:
Web サイトまたはアプリケーションをサーバーに公開しているときにこの問題に直面した場合、私が使用した簡単な解決策は、ファイルを含むフォルダーを Web アプリケーションに変換することです。
まだ見ている人にとって、私の解決策は、bin フォルダーと obj フォルダーの両方を削除し、Visual Studio を再起動して修正することでした。
Web アプリケーションではなく、フォルダーにしたいプロジェクトがありました。答えは、web.config ファイルを完全に削除することでした。アプリケーションのルートにのみ属します。
Visual Studio経由で、 FTP 経由で WCF サービスを外部サーバーに公開しました。ローカルでは正常に機能し、内部サーバーに公開する場合は正常に機能しましたが、外部には機能しませんでした。解決策は、を提供せずに公開することでした Site Path
(つまり、仮想ディレクトリのルートに直接公開します)。
ここにリストされているすべてを含む他の多くの試みの中で、外部FTPクライアントを介してファイルをルートに移動しようとしたので、なぜうまくいったのかわかりません。FabianValの場合のように、発行プロファイルに関するものだったのかもしれません。しかし、この問題で何日も無駄にしてしまったので、急いで速度を上げようとしているので、この時点でもうテストする気はありません。
プロジェクトフォルダからCrystal Reports Backup Filesを削除した後、それは私のために働いています。
私たちの場合、他のサーバー間で複製されたサーバーにサイトを展開していました。展開環境のすべてのサーバーで IISRESET を実行すると、機能しました。
ヒント 1: クリーンアップしてから再構築します。
ヒント 2: VS を閉じて、もう一度開くだけです。
ヒント 3: ダウンロードしたプロジェクトは別のサブ フォルダー内にある可能性があります。.net ファイルがあるフォルダーを開きます。
c:/demo1/demo/ (すべてのファイル)
demo1 ではなく vs から demo を開く必要があります。
親フォルダーに対して新しいグローバル Web.Config が自動的に作成されるため、同じ問題が発生しました。\ウェブサイト\ウェブサイトでした。
すべてのファイルを子フォルダーから親フォルダーに移動し、子フォルダーを削除した後、Web.Config が 1 つだけになり、問題が解決されました。
サイトを公開するときに同じ問題が発生していました。サイトを構築しても問題はありませんが、公開中に次のひどいエラーが発生します。
「allowDefinition='MachineToApplication' として登録されたセクションをアプリケーション レベルを超えて使用するとエラーになります。このエラーは、IIS でアプリケーションとして構成されていない仮想ディレクトリが原因である可能性があります」
この投稿でここに記載されているすべてのことを試してみましたが、私にとってうまくいったのは、私が使用しているものとまったく同じ新しい公開プロファイルを作成することでした。それはうまく機能し、エラーは発生しません新しいプロファイルを使用しますが、古いプロファイルを使用します。違いはわかりませんが、少なくとも MVC プロジェクトを公開できます。
これが誰かに役立つことを願っています!