web-dev-qa-db-ja.com

HTTPエラー500.19-構成ファイルを読み取れません

ASP.NETアプリの1つで、下に表示されるエラーのため、突然Visual Studio 2013でそれを実行できなくなります。存在しないパスからweb.configを開こうとしているようです。 web.configを含むすべてのプロジェクトコードは、C:\ Projects\SourceCode\AFEManager\Trunk\AFEManager.Webにあります。同様のエラーが発生しているユーザーからの投稿が多数見つかりましたが、解決策はさまざまで、これまでのところ、私の状況に当てはまるものはありません。そのTraceLogFilesディレクトリとそこにある最新のログファイルを見てから5日経過しているため、この問題が発生して以来、何もログに記録されていません。任意の提案をいただければ幸いです。

enter image description here

27
PongGod

私の場合、前にD:\ My Documents\My Web Sites \のすべてのフォルダーを削除しました。その後、エラーをキャッチしました。ソリューションフォルダーに.vs\config\applicationhost.configファイルがあります。削除されたフォルダーへの参照が含まれています。そのため、applicationhost.configを削除し、プロジェクトプロパティのWebページで[仮想ディレクトリの作成]ボタンを押しました。ファイルとフォルダを再作成しました

22
MirrorBoy

すべての詳細を完全に理解しているとは言えませんが、この問題は解決できました。私が理解できる範囲で状況を説明するように努めます。うまくいけば、より深い洞察力を持つ他の人々がさらに明確にしてくれるでしょう。

ワークステーションですべての開発を行った後、私が設定した新しいVM環境でこの作業を開始することを提案されました。そこで、VS 2013をそこにインストールし、そこにあるさまざまなプロジェクトからソースコードをコピーしました。ただし、C:\ Projects\SourceCode [ProjectName]の以前のローカルパスの規則に従うのではなく、今回は、VSのインストール中にセットアップされたディレクトリを使用することにしました。 c:\ users [MyUser]\My Documents\Visual Studio 2013\Projects [ProjectName]。その後しばらくして、インフラストラクチャチームが変更を加え、ホームディレクトリc:\ users\rmayerが共通のディレクトリを指すようになりました。ネットワークドライブ、\ totalsafety\TSUsers\rmayer。すべてが問題なく動作し続けました。

ただし、このVM=環境で作業していたさまざまな問題のため、ソースコードの元のローカルパスを使用して、ワークステーションで開発作業を再開することにしました。 VS経由でコードを実行しようとするたびに上記のエラーが発生します。ここで学んだことは、IIS Expressが使用するapplicationhost.configファイルがあることです:\ totalsafety\TSUsers\rmayer\My Documents\IISExpress\config。これには、各Webプロジェクトのエントリが含まれています。この問題に関連するものには、次のようなセクションがありました。

        <site name="AFEManager.Web-Site" id="8">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="C:\Users\rmayer\Documents\My Web Sites\AFEManager.Web-Site" />
            </application>
            <application path="/AFEManager" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="C:\Projects\SourceCode\AFEManager\Trunk\AFEManager.Web" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:19257:localhost" />
            </bindings>
        </site>

その時にapplicationPool = "Clr4IntegratedAppPool"の下にリストされている物理パス属性は、VM環境で作業していたときに使用していたローカルパスに基づいて設定されました。これで、この1つのファイルローカルまたはVM内で作業しているかどうかに関係なく、ユーザーのホームディレクトリの移動により共有されているため、ワークステーションから作業している場合、このパスは無効です。 C:\ Projects\SourceCode\AFEManager\Trunk\AFEManager.Webへのこのパスで、ワークステーションから正しく機能するようになりました。

繰り返しますが、これがどのように機能するかについては限られた理解しかありませんが、ローカルパスがすべての間で一貫していなければ、複数の環境から開発作業を行うことはできなくなります(もう必要ありません)。そのうちの。これについて私が正しければ、これは理想的なデザインではないようです。

19
PongGod

ソリューションフォルダー内のvs\config\applicationhost.configの仮想ディレクトリパスを変更しました。

7
Meghna Reddy

プロジェクトフォルダーを新しいマシンに移動したときにこの問題が発生しました。問題は、VSのサイトがapplicationhost.configフォルダー内の構成ファイル(.vs/)に登録されているが、%USERPROFILE%\My Documents\My Web Sites\内にフォルダーが作成されていないことです。プロジェクトのプロパティ([Web]タブ)内で[仮想ディレクトリの作成]をクリックするだけでは不十分です。

  1. 最初にVSを閉じて、ソリューションディレクトリ内の.vs/フォルダーを削除します
  2. VSを再度開き、プロジェクトプロパティ([Web]タブ)内の[仮想ディレクトリの作成]をクリックします-VSはサイトを再登録し、%USERPROFILE%\My Documents\My Web Sites\内に対応するフォルダーを作成します
6
dzitkowskik

Applicationhost.configファイルで、web.configのパスを実際のパスに変更できます。このファイルは/.vs/configフォルダーにあります。

このファイルのパスを変更して保存し、プロジェクトを再起動すると、問題が解決しました。

これは、ワークステーションが異なるために発生していますが、プロジェクトは別のフォルダに保存しています。

私の場合、プロジェクトはローカルディスクではなくネットワーク上にありました。プロジェクトをローカルにコピーした後、問題は解決されました。同じ問題がある人の時間を節約できることを願っています。

3
Amir Chatrbahr

Visual Studioが作成した.VSフォルダーを削除します。プロジェクト構造で非表示になっている可能性があります。フォルダを再表示して.vsフォルダを探し、そのフォルダを削除してアプリケーションを再構築します。

1
user3703310

PongGodありがとうございます!!私はあなたの答えにコメントすることはできませんが、 Orchard のインスタンスの実行中にまったく同じ問題が発生したため、とにかく投稿したいと思いました。私の場合、次の場所に古いプロジェクトファイルの束が見つかるまで、すべてが問題なく実行されていました。

%USERPROFILE%\My Documents\My Web Sites\

そして明白な理由もなくそれらを削除し始めました。次に、Visual StudioからデバッグモードでOrchardを起動しようとすると、上記のエラーメッセージが表示されました。 applicationhost.configファイルに同じ修正を適用した後、すべてが正常に動作しています。

私の場合、最初にVisual StudioとWeb MatrixからデフォルトのOrchardファイルを実行したため、ディレクトリが混同されていると想定しています。その後、ソースファイル全体をダウンロードして、まったく別のディレクトリからファイルの実行を開始しました。再度、感謝します。

1
hvaughan3

このすべての答えの後、私は自分の解決策を見つけます。 IIS=でte WebSiteを削除して再利用します。なぜですか?フレームワーク4.5とURL Rewriteをインストールする前にWebサイトを作成したためです。

0

これが私が見つけた解決策です。

https://gyorgybalassy.wordpress.com/2015/03/06/i-asked-for-a-vs-folder-and-the-vs-team-gave-it-to-me/ =

(1)applicationhost.configファイルを| YourSolution |\.vs\config

enter image description here

(2)VirtualDirectory PhysicalPathをプロジェクトに変更します。

(3)ソリューションを再起動します。プロジェクトを開始します。

(4)それでも機能しない場合は、IISExpress構成の設定を確認してください。サイト設定がない場合は、設定を| UserOnYourComputer |\Documents\IISExpress\config\applicationhost.configにコピーして貼り付けます。

enter image description here

(5)IDを、IISExpress applicationhost.configで使用されていない他のIDに変更します。

(6)プロジェクトを開始します。

0
Epic Chen

プロジェクトディレクトリに移動します。

..\\{ProjectDir}\\.vs\\{ProjectName}\\config

次に、applicationhost.configファイルを削除して、ソリューションを再コンパイルします。

それで全部です。

0
KakashiJack

私は同じ問題を経験し、それを非常に簡単に解決しました。私の問題は、gitリポジトリでマージ操作を実行した後に発生しました。マージ操作のVisual Studioによって、デフォルトのプロジェクトURLがパートナーのコンピューターのデフォルトのURLに変更され、パートナーが前回リポジトリにプッシュした場所から変更されました。だからここに私がこのエラーを解決した方法があります:

  1. プロジェクトのプロパティに移動するだけです。
  2. 左揃えのメニューから、[Web]を選択します。
  3. URLとデフォルトのポート番号を含むテキストボックスを投影した後、テキストボックスの横に[仮想ディレクトリの作成]ボタンがあります。
  4. そのボタンを押すと、そこに行きます。再び、プロジェクトの現在の作業フォルダーのデフォルトURLをポイントします。

それがあなたのためにうまくいくことを願っています:)

0
Hassaan Baig