35 votes

VirtualPath était en dehors de la racine d'application actuelle

Arrière-plan: ASP.NET Webforms Application avec VB.NET backend.

J'ai récemment mis à niveau à partir de Visual Studio 2010 de Visual Studio 2013 et .NET 4.5.1. Ce code utilisé le travail, car nous étions sur Visual Studio 2005 et .NET 2.0. Mais depuis la mise à jour, j'obtiens cette erreur.

Dans un ASCX de Contrôle de l'Utilisateur.

<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)%>;
}

Nous disposons maintenant de cette erreur que nous n'avons jamais eu avant:

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','');

Si je joue avec le fichier et de faire un absurde changement, l'erreur disparaît. Exemple: ajouter une ligne vide entre la Ligne 4 et 5. Puis il revient plus tard.

Ce pourrait être la cause?

88voto

Crocked Points 774

J'ai eu le même problème avec une vieille application dans iis et lors de l'exécution à partir de visual studio. La désactivation de navigateur lien dans visual studio 2013 semble résoudre ce problème. Cette fonctionnalité injecte un peu de javascript dans votre page et les causes de ce problème, pour moi au moins. Depuis que j'ai désactivé maintenant, il travaille dans les services internet et à partir de Visual studio.

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

Plus de détails sur la fonctionnalité ici

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

Cheers, Crocked

5voto

Eyad Mansour Points 41

Désactiver le lien de navigateur dans le studio visuel 2013 fixé cela dans mon cas, il suffit de dévérifier le "Enable Browser Link" en vs (près du bouton Run)

0voto

Buffeles Points 1

J'avais une URL incorrecte dans les paramètres de mon projet d'application web. Mise à jour du paramètre pour utiliser l'adresse correcte dans mon IIS local corrigé le problème pour moi.

Le problème s'est posé pour moi que j'ai eu un répertoire virtuel différent configuré dans IIS par rapport à celui spécifié dans les propriétés du projet. Je note également que l'ouverture de la réouverture de la solution crée automatiquement un répertoire virtuel de travail dans IIS

P

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X