私はASP.Netでオンラインプロジェクトをダウンロードしました。アプリケーションの実行中にエラーが発生しました
アプリケーションレベルを超えてallowDefinition = 'MachineToApplication'として登録されているセクションを使用するとエラーになります。このエラーは、仮想ディレクトリがIISでアプリケーションとして構成されていないことが原因で発生する可能性があります。
これを機能させるには、web.configまたは他の場所でどのような変更を行う必要がありますか?
私はこの「喜び」に遭遇したばかりです。リリースモードでWebアプリケーションを公開した直後に表示されるようです。
私が見つけた問題を常に解決する唯一の方法は、このチェックリストに従うことです。
遭遇してください この記事 そしてそれは私に起こっていました。
プロジェクトをClean
するだけでエラーは解決します。 (VS2010のバグでなければなりません)
私のウェブサイトの2番目のバージョンを構築するとき、私はちょうどこの問題を抱えています。最初に作ったときには起こりませんでした。
Binフォルダとobjフォルダを削除し、クリーンソリューションを実行して、今度は問題なく再構築しました。
無し。 Webサイトを配置したディレクトリを IIS内のWebアプリケーション として設定する必要があります。
このエラーは、Webサイトとしてプロジェクトを開こうとしたときに発生します。 Webサイトとプロジェクトのどちらを作成したかを判断する最も簡単な方法は、ソリューションフォルダ(コードを保存した場所)を確認し、ルートディレクトリに* .slnファイルがあるかどうかを確認することです。プロジェクトを作成しました。
ちなみに、私はVisual Studioのメニューから[ファイル]、[Webサイトを開く]を選択してしばらくして作成したプロジェクトを開こうとしたときに、このエラーに遭遇しました。代わりに。気がついたらすぐに顔をしかめました:)
Visual Studio 2013で私はしばらくこれに苦労していて、解決するのはかなり簡単ですただ例外が言っていることに従ってください"仮想ディレクトリIISでアプリケーションとして設定されていません "
私の場合はWebService
をIIS website
の中に植えました。
Convert to Application
をクリックしましたOk
で投稿してくださいWCFが復活しました。
このエラーは、使用しているコードが仮想ディレクトリがIISでセットアップされることを期待していることを示唆しています。
資料を調べて、必要な仮想ディレクトリーを追加してください。それはweb.config
を含むディレクトリであるべきです(ルートディレクトリではない)。
有効なビューをビルドするMVCプロジェクトがある場合、解決策の1つはビルドの前にobjフォルダを削除することです。プロジェクトファイルに追加します。
<Target Name="BeforeBuild">
<!-- Remove obj folder -->
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
<!-- Remove bin folder -->
<RemoveDir Directories="$(BaseOutputPath)" />
</Target>
これが記事です: ビルドやデプロイの前にbinやobjフォルダを削除する方法
最近のweb.configの変更は、間違ったweb.configファイルにある可能性があります。
<machineKey...>
プロパティがViews/web.configに追加されました。どのくらいの数のCleans and Rebuildを実行してもエラーは残りました。修正は、プロパティをルートに移動することでした/ web.config。
このエラーが発生したことがある場合
アプリケーションレベルを超えてallowDefinition = 'MachineToApplication'として登録されているセクションを使用するとエラーになります。このエラーは、仮想ディレクトリがIISのアプリケーションとして構成されていないことが原因で発生する可能性があります。
溶液
VS 2012でも同じ問題がありました。
<MvcBuildViews>false</MvcBuildViews>
を探すある場合は、1つの解決策はコンパイラによって生成されたプロジェクト内のobjフォルダの内容を削除することです。
私の場合、問題はサブディレクトリに私がプロジェクトを公開した後にだけ現れた。私は知識がないため、web_publish
サブディレクトリをweb_project
ディレクトリの内側に配置しました。
web_publish
には、プロジェクトに含まれるものと同じWeb.config
も含まれていることは明らかです。しかし、web_project
は、ネストされたサブディレクトリでweb_publish
を検索するときに私のWeb.config
を避けるべきであることを知りません。このようにして、Web.config
が複製され、エラーが発生しました。
解決策は私のweb_publish
を他の場所に置くことでした。
私の場合ではそこにそこに全体のウェブサイトの別のコピーを含む "バックアップ"フォルダがありました。これは別のweb.config
を意味していたので、ビルドはこのエラーで失敗しました。私は "Backup"フォルダを削除し、DebugとReleaseのビルドに対してCleanソリューションを実行し、そしてエラーは消えました。
私の場合、
ソリューションには6つのプロジェクト、1つのメインディレクトリと5つのサブディレクトリがあります。 web.configを持つすべてのサブディレクトリ。
サブディレクトリ内の任意のページを実行すると、私は同じエラーを受けていました。
この行をweb.configから削除しました、
<authentication mode="Windows"/>
それは私のために働いた。
プロジェクトをクリーンアップする/ objフォルダを削除します(おそらくpublishおよびdeployを使用していますか? - バグがあります)。
私の問題は、VS2010の新規インストール時に誤って自分のWebサービスを完成前の場所に公開していたことです。
私はPreCompiledWebというフォルダに公開していましたが、web.configの存在が原因でそれがめちゃくちゃになっていました。
私は単にフォルダを無効にして、プロジェクトを更新しました。
このエラーをダブルクリックすると - それは私をひっくり返したその誤ったweb.configファイルに私を連れて行きました。
どうやら私のソリューションには2つのweb.configファイルがありました。私はMVC4を使用していて、Viewsの下に別の設定ファイルがあり、私は間違ったファイルに変更を加えていました。私を助けたそこに修正しました。
しかし、global.asaxファイルのデフォルトのリダイレクト/ルートはいつでも変更できます。
Binおよびobjフォルダを削除します。それからソリューションを再構築します。
それはあなたが.Net framework 2.0のプロジェクトをダウンロードしてVS2008にそれを開きたいようなバージョンの問題かもしれませんそしてあなたは最新バージョンにアップグレードする必要があるでしょうそしてVSは同じルートディレクトリにフォルダのバックアップを作成します。答えを得なさい ここ 。
私のソリューションに作成されたWeb配置プロジェクトでソリューションを構築するとき、私はこのエラーがありました。 Web Deployment Projectがビルドされているフォルダを削除することでエラーを解決します。このフォルダは、WDPプロパティの「プロジェクトフォルダ」属性で指定されています
まだ見ている人のために、私の解決策はbinとobjフォルダの両方を削除し、それを修正するように見えるビジュアルスタジオを再起動することでした。
プロジェクトファイルで "true"が有効になっていると、この問題がより頻繁に発生します。
ジョニーが言うように:
Visual Studio経由で、外部サーバーに FTP経由でWCFサービスを公開 を持っていました。これはローカルでも、内部サーバーへの公開時にも正常に機能しましたが、外部サーバーには公開されませんでした。解決策は、提供せずに公開Site Path
(つまり、仮想ディレクトリのルートに直接公開)することでした。
ここにリストされているものすべてを含む、他の多くの試みの中でも、外部のFTPクライアントを介してファイルをルートに移動しようとしていたので、なぜそれがうまくいったのかわかりません。 FabianVal の場合のように、それはpublishプロファイルに関連したものかもしれません。しかし、現時点ではテストをする気分ではありません。何日もの間この問題を無駄にしてきたので、スピードに立ち上がるのが急いでいるからです。
おそらくあなたは仮想ディレクトリとして設定されていないプロジェクトフォルダ内にサブasp.netプロジェクトフォルダを持っているでしょう。プロジェクトをIISで実行するように設定します。
あなたのウェブサイトやアプリケーションをあるサーバーに公開しているときにこの問題に直面した場合、私が使った簡単な解決策はファイルを含むフォルダをウェブアプリケーションに変換することです。
私は自分のWebサイト公開スクリプトに追加しました。最後に、あなたのWebサイトのフォルダからobjフォルダを削除します。
Webアプリケーションにはなりたくないプロジェクトがあり、それをフォルダーにしたいと思いました。答えはweb.configファイルを完全に削除することでした。アプリケーションのルートにのみ属します。
Webサイトプロジェクトがあります。
私の場合、ソリューションファイルを別のパスに移動したために問題が発生しました。以前の場所に復元したところ、問題は解決しました。
プロジェクトをデバッグモードで公開した後、VS 2013でも同じ問題が発生します。 obj/filesを削除することで問題を解決しました
私は上記のすべての解決策を試しましたが、それらのどれも私の問題のために働きませんでした。 (この問題に対する解決策は1000あると確信しています)私のシナリオでは、テスト中のWCF Webサービスを実稼働環境に公開しようとしました。
しかし、私は本番環境ではHTTPSのみであることを認識できませんでした。つまり、すべてをHTTPSにリダイレクトします。結局のところ、私はHTTPSではなくHTTP経由でサービスを指していたため、エラーが発生しました。このシナリオの解決策は、アドレスプロトコルを単にHTTPではなくHTTPSに変更することでした。
私はそれがこの問題を解明しようとしている貧しい人々の魂の助けになることを願っています。
今回のケースでは、他のサーバー間で複製されたサーバーにサイトを展開していました。デプロイメント環境内のすべてのサーバーでIISRESETを実行してもうまくいきました。
私の場合はGoDaddyでホスティングしていましたが、それは問題ではありませんでしたが、混乱を招きました。
ルートフォルダ "WebServices"があり、それをアプリケーションルートとして設定しました。
ただし、 "WebServices"フォルダは多くのサービスのコンテナであるため、サービスは "GeoLocateSpecials"というサブフォルダにありました。
そのため、GeoLocateSpecialsをアプリケーションルートとして設定する必要があり、そこからうまく機能しました。
他の誰かに役立つことを願っています。
プロジェクトフォルダからCrystal Reportsのバックアップファイルを削除した後、それは私のために働いています。
私は私が私がこのひどい間違いを得ることを出版している間私が問題を得ないサイトを造るなら私が私がサイトを出版する時に同じ問題を抱えていた:
「allowDefinition = 'MachineToApplication'として登録されたセクションをアプリケーションレベルを超えて使用するとエラーになります。このエラーは、仮想ディレクトリがIISでアプリケーションとして構成されていないことが原因で発生する可能性があります」
私はこの投稿でここに述べられていることをすべて試してみましたが、私が役立ったのは私が使っていたものとまったく同じ新しいパブリッシュプロファイルを作成することでした。新しいプロファイルではなく、古いプロファイルで行います。違いが何であるかわかりませんが、少なくとも私のMVCプロジェクトを公開することができます。
これが誰かに役立つことを願っています!
ヒント1:クリーニングしてから再構築する。
ヒント2:VSを閉じて再度開くだけです。
ヒント3:ダウンロードしたプロジェクトは別のサブフォルダの中にあるかもしれません...あなたに.netファイルがあるフォルダを開いてください。
c:/ demo1/demo /(全ファイル)
Demo1ではなく、vsからデモを開く必要があります。
新しいグローバルWeb.Configが自動的に親フォルダに作成されるため、私は同じ問題を抱えていました。それは\ Website\Websiteです。
すべてのファイルを子フォルダから親フォルダに移動して子フォルダを削除すると、Web.Configは1つだけになり、問題は解決します。