35

背景:带有 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 行之间添加一个空行。然后它稍后会回来。

这可能是什么原因造成的?

4

4 回答 4

88

我在 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/

有关该功能的更多详细信息here

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

干杯,克制

于 2013-10-30T18:03:14.290 回答
5

在我的情况下,在 Visual Studio 2013 中禁用浏览器链接解决了这个问题,只需取消选中 vs 中的“启用浏览器链接”(靠近“运行”按钮)

于 2014-02-26T17:12:29.790 回答
2

遇到这个,起初我没有看到点击的地方,因为我有项目正在运行。

这是一个屏幕截图“在 Visual Studio 2013 中禁用浏览器链接似乎可以解决这个问题。”

在此处输入图像描述

于 2016-05-11T21:35:35.687 回答
0

我的 Web 应用程序项目设置中的 URL 不正确。更新设置以在我的本地 IIS 中使用正确的地址为我解决了这个问题。

问题出现在我身上,因为与项目属性中指定的虚拟目录相比,我在 IIS 中配置了不同的虚拟目录。我还注意到打开重新打开解决方案会自动在 IIS 中自动创建一个工作虚拟目录

p

于 2014-04-22T15:48:46.977 回答