web-dev-qa-db-ja.com

VirtualPathは現在のアプリケーションルート外にありました

背景:VB.NETバックエンドを使用したASP.NET Webformsアプリケーション。

最近、Visual Studio 2010からVisual Studio 2013および.NET 4.5.1にアップグレードしました。このコードは、Visual Studio 2005および.NET 2.0を使用していたために使用されていました。しかし、アップグレード以降、このエラーが発生しています。

ASCXユーザーコントロール内。

<script language="javascript" type="text/javascript">
<!--
function SetItem_<%Response.Write(m_strJSAlias)%>(strValue) {
     $("#<%Response.Write(txtShop.ClientID)%>").attr('value',strValue);
    __doPostBack('frmCorpPortal_Form','');
    void FocusOnNext_<%response.Write(m_strJSAlias)%>;
}

今までにないこのエラーが発生します。

VirtualPath was outside the current application root.
Parameter name: virtualPath 
Description: An unhandled exception occurred during the execution of the current web request.    Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.ArgumentException: VirtualPath was outside the current application root.
Parameter name: virtualPath


Line 4:  <script language="javascript" type="text/javascript">
Line 5:  <!--
Line 6:  function SetItem_<%Response.Write(m_strJSAlias)%>(strValue) {
Line 7:       $("#<%Response.Write(txtShop.ClientID)%>").attr('value',strValue);
Line 8:      __doPostBack('frmCorpPortal_Form','');

ファイルを再生して無意味な変更を加えると、エラーは消えます。例:行4と5の間に空白行を追加します。その後、後で戻ります。

これは何が原因ですか?

35
Ken VeArd

Iisの古いアプリとVisual Studioから実行しているときに同じ問題が発生しました。 Visual Studio 2013でブラウザーリンクを無効にすると、これが修正されるようです。この機能はページにJavaScriptを挿入し、少なくともこの問題を引き起こします。これを無効にしたので、IISおよびVisual Studioで動作します。

http://techatplay.wordpress.com/2013/10/24/vs2013-asp-net-application-error-virtualpath-was-outside-the-current-application-root/

機能の詳細はこちら

http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx

乾杯

88
Crocked

Visual Studio 2013でブラウザーリンクを無効にすると、私の場合はこれが修正され、vs([実行]ボタンの近く)で[ブラウザーリンクを有効にする]のチェックを外すだけです。

5
Eyad Mansour

これを横切って走りましたが、プロジェクトを実行しているため、最初はクリックする場所がわかりませんでした。

「Visual Studio 2013でブラウザーリンクを無効にすると、これが修正されるようです」というスクリーンショットを次に示します。

enter image description here

2
Tom Stickel

Webアプリケーションのプロジェクト設定に誤ったURLがありました。ローカルIISで正しいアドレスを使用するように設定を更新すると、問題が修正されました。

IISプロジェクトプロパティで指定されたものと比較して異なる仮想ディレクトリが構成されていたため、問題が発生しました。また、ソリューションを再度開くと、 IIS

p

0
Buffeles