195

ASP.Netでオンラインプロジェクトをダウンロードしました。アプリケーションの実行中にエラーが発生します

allowDefinition='MachineToApplication'として登録されているセクションをアプリケーションレベルを超えて使用するとエラーになります。このエラーは、仮想ディレクトリがIISでアプリケーションとして構成されていないことが原因で発生する可能性があります。

これを機能させるには、web.configまたは他の場所でどのような変更を加える必要がありますか?

4

36 に答える 36

97

この「喜び」に出逢えた。Web アプリケーションをリリース モードで公開した直後に表示されるようです。

私が見つけた問題を一貫して回避する唯一の方法は、次のチェックリストに従うことです。

  1. ソリューションがリリース モードで構成されている間に、ソリューションをクリーンアップします。
  2. ソリューションがデバッグ モードで構成されている間にソリューションをクリーンアップします。
  3. ソリューションがデバッグ モードで構成されている間にビルドします。
于 2012-09-03T08:45:10.963 に答える
82

この投稿に出くわしただけで、それが私に起こっていました。プロジェクトとエラー
だけが消えます。Clean(VS2010 のバグに違いない)

于 2010-05-24T13:09:42.563 に答える
25

私のウェブサイトの2番目のバージョンを構築するときにこの問題が発生しました。私が最初にそれを作ったとき、それは起こりませんでした。

binフォルダーとobjフォルダーを削除し、Clean Solutionを実行して再構築しましたが、今回は問題ありません。

于 2011-07-21T10:51:47.150 に答える
20

なし。Web サイトを配置したディレクトリをIIS 内の Web アプリケーションとして設定する必要があります。

于 2010-03-01T13:12:07.337 に答える
16

このエラーは、プロジェクトを Web サイトとして開こうとすると発生します。Web サイトまたはプロジェクトを作成したかどうかを判断する最も簡単な方法は、ソリューション フォルダー (つまり、コードを保存した場所) を確認し、ルート ディレクトリに *.sln ファイルがあるかどうかを確認することです。プロジェクトを作成しました。

追加するために、Visual Studioメニューから「ファイル」、「Webサイトを開く」を選択して、しばらく前に作成したプロジェクトを開こうとしたときに、「ファイル」、「プロジェクトを開く」を選択する必要があったのに、このエラーが発生しました。代わりは。私は気づいたらすぐに顔を合わせました:)

于 2012-10-09T19:27:41.707 に答える
12

ビューのビルドが有効な MVC プロジェクトがある場合、解決策の 1 つは、ビルドの前に obj フォルダーを削除することです。プロジェクト ファイルに追加します。

<Target Name="BeforeBuild">
    <!-- Remove obj folder -->
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
    <!-- Remove bin folder -->
    <RemoveDir Directories="$(BaseOutputPath)" />
</Target>

記事は次のとおりです:ビルドまたはデプロイの前に bin および/または obj フォルダーを削除する方法

于 2014-03-10T17:18:51.210 に答える
11

このエラーは、使用しているコードが、IIS で仮想ディレクトリがセットアップされることを想定していることを示しています。

ドキュメントを参照して、必要な仮想ディレクトリを追加します。が含まれているディレクトリである必要がありますweb.config(ルート ディレクトリではありません)。

于 2010-03-01T13:11:06.350 に答える
8

最近の web.config の変更が間違った web.config ファイルにある可能性があります。

Views/web.config<machineKey...>にプロパティが追加されました。クリーンアップとリビルドの回数に関係なく、エラーは残りました。修正は、プロパティをルート/web.configに移動することでした。

于 2012-08-08T18:51:58.427 に答える
6

このエラーが発生した場合

アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されたセクションを使用するとエラーになります。このエラーは、IIS で仮想ディレクトリがアプリケーションとして構成されていないことが原因である可能性があります

ソリューション
VS 2012 でも同じ問題がありました。

  1. 現在のプロジェクトをアンロードします
  2. .csproj を編集します
  3. これを見つける<MvcBuildViews>false</MvcBuildViews>
  4. falseの代わりに値をtrueに変更します
  5. プロジェクトを再度ロードすると、このエラーは発生しなくなります

持っている場合、1 つの解決策は、コンパイラによって生成されたプロジェクトの obj フォルダーの内容を削除することです。

于 2013-03-01T09:40:44.110 に答える
5

私の場合、そこにウェブサイト全体の別のコピーを含む「バックアップ」フォルダーがありました。これは別のことを意味するweb.configため、ビルドはこのエラーで失敗しました。「バックアップ」フォルダーを削除し、デバッグ ビルドとリリース ビルドでクリーン ソリューションを実行すると、エラーが消えました。

于 2015-07-06T14:45:15.697 に答える
4

私の場合、

ソリューションには、6 つのプロジェクト、1 つのメイン ディレクトリと 5 つのサブ ディレクトリが含まれています。web.config を持つすべてのサブディレクトリ。

サブディレクトリ内でページを実行すると、同じエラーが発生しました。

この行を web.config から削除しました。

<authentication mode="Windows"/>

それは私のために働いた。

于 2012-11-17T16:13:46.870 に答える
4

プロジェクトをクリーンアップします /obj フォルダーを削除します (おそらくパブリッシュとデプロイを使用しますか? - バグがあります)

于 2013-02-20T10:09:10.730 に答える
3

私の問題は、VS2010 の新規インストール時に、誤って Web サービスを事前に完了した場所に公開してしまったことです。

PreCompiledWebというフォルダーに公開しましたが、 web.config が存在するために、それが台無しになったと思われます。

単純にフォルダーを削除し、プロジェクトを更新しました。

このエラーをダブルクリックすると、誤った web.config ファイルが表示され、ひっくり返されました。

于 2013-01-17T17:10:14.713 に答える
2

.Net Framework 2.0 のプロジェクトをダウンロードして VS2008 で開きたい場合は、バージョンの問題である可能性があります。その場合、最新バージョンにアップグレードする必要があり、VS は同じルート ディレクトリにフォルダーのバックアップを作成します。ここで答えを得る。

于 2012-09-25T10:42:52.707 に答える
2

ソリューションに作成された Web 配置プロジェクトを使用してソリューションをビルドすると、このエラーが発生しました。Web 配置プロジェクトがビルドされているフォルダーを削除することで、エラーを解決します。このフォルダは、WDP プロパティの「プロジェクト フォルダ」属性で指定されます。

于 2012-09-30T03:30:26.703 に答える
2

bin および obj フォルダーを削除します。次に、ソリューションを再構築します。

于 2014-01-19T01:50:28.930 に答える
1

Webサイトの公開スクリプトに追加しました。最後に、Webサイトフォルダからobjフォルダを削除します。

于 2011-08-05T00:40:03.767 に答える
1

おそらく、仮想ディレクトリとして構成されていないプロジェクト フォルダー内にサブ asp.net プロジェクト フォルダーがあります。IIS で実行するようにプロジェクトをセットアップします。

于 2010-03-01T13:16:13.630 に答える
1

私はウェブサイトのプロジェクトを持っています。

私の場合、ソリューション ファイルを別のパスに移動したため、問題が発生しました。以前の場所に復元したところ、問題はなくなりました。

于 2014-07-08T13:11:34.897 に答える
1

プロジェクトファイルで「true」が有効になっていると、この問題がより頻繁に発生します。

  1. 偽に設定

ジョニーが言うように:

  1. ソリューションがリリース モードで構成されている間に、ソリューションをクリーンアップします。
  2. ソリューションがデバッグ モードで構成されている間にソリューションをクリーンアップします。
  3. ソリューションがデバッグ モードで構成されている間にビルドします。
于 2012-09-17T05:39:32.977 に答える
1

Web サイトまたはアプリケーションをサーバーに公開しているときにこの問題に直面した場合、私が使用した簡単な解決策は、ファイルを含むフォルダーを Web アプリケーションに変換することです。

于 2013-03-02T13:25:30.227 に答える
1

まだ見ている人にとって、私の解決策は、bin フォルダーと obj フォルダーの両方を削除し、Visual Studio を再起動して修正することでした。

于 2014-07-16T09:10:20.787 に答える
1

Web アプリケーションではなく、フォルダーにしたいプロジェクトがありました。答えは、web.config ファイルを完全に削除することでした。アプリケーションのルートにのみ属します。

于 2012-12-20T10:57:36.520 に答える
1

Visual Studio経由で、 FTP 経由で WCF サービスを外部サーバーに公開しました。ローカルでは正常に機能し、内部サーバーに公開する場合は正常に機能しましたが、外部には機能しませんでした。解決策は、を提供せずに公開することでした Site Path(つまり、仮想ディレクトリのルートに直接公開します)。

ここにリストされているすべてを含む他の多くの試みの中で、外部FTPクライアントを介してファイルをルートに移動しようとしたので、なぜうまくいったのかわかりません。FabianValの場合のように、発行プロファイルに関するものだったのかもしれません。しかし、この問題で何日も無駄にしてしまったので、急いで速度を上げようとしているので、この時点でもうテストする気はありません。

于 2016-10-03T12:23:37.337 に答える
0

プロジェクトフォルダからCrystal Reports Backup Filesを削除した後、それは私のために働いています。

于 2014-12-22T05:20:24.793 に答える
0

私たちの場合、他のサーバー間で複製されたサーバーにサイトを展開していました。展開環境のすべてのサーバーで IISRESET を実行すると、機能しました。

于 2016-01-05T17:12:01.300 に答える
0

ヒント 1: クリーンアップしてから再構築します。

ヒント 2: VS を閉じて、もう一度開くだけです。

ヒント 3: ダウンロードしたプロジェクトは別のサブ フォルダー内にある可能性があります。.net ファイルがあるフォルダーを開きます。

c:/demo1/demo/ (すべてのファイル)

demo1 ではなく vs から demo を開く必要があります。

于 2012-08-01T13:41:38.377 に答える
0

親フォルダーに対して新しいグローバル Web.Config が自動的に作成されるため、同じ問題が発生しました。\ウェブサイト\ウェブサイトでした。

すべてのファイルを子フォルダーから親フォルダーに移動し、子フォルダーを削除した後、Web.Config が 1 つだけになり、問題が解決されました。

于 2016-04-20T21:20:58.700 に答える
0

サイトを公開するときに同じ問題が発生していました。サイトを構築しても問題はありませんが、公開中に次のひどいエラーが発生します。

「allowDefinition='MachineToApplication' として登録されたセクションをアプリケーション レベルを超えて使用するとエラーになります。このエラーは、IIS でアプリケーションとして構成されていない仮想ディレクトリが原因である可能性があります」

この投稿でここに記載されているすべてのことを試してみましたが、私にとってうまくいったのは、私が使用しているものとまったく同じ新しい公開プロファイルを作成することでした。それはうまく機能し、エラーは発生しません新しいプロファイルを使用しますが、古いプロファイルを使用します。違いはわかりませんが、少なくとも MVC プロジェクトを公開できます。

これが誰かに役立つことを願っています!

于 2014-08-13T22:11:52.623 に答える