这种类型的.aspx代码有什么问题?

时间:2016-12-06 00:38:02

标签: asp.net vb.net visual-studio-2013

我有一只熊试图弄清楚遗留项目为什么不能为我编译;我只得到一个错误,即“未设置对象引用”,这通常很容易修复,但在这种情况下,它没有提供关于问题出现在哪个文件中的详细信息。请参阅this了解初始问题,有很多更新。

我怀疑许多警告,说同样的事情(“对象引用没有设置为对象的实例”)是错误的背后。

问题是,据我所知,生成这些警告的代码并不存在问题;但话说回来,我不是ASP.NET的专家,当涉及VB方面时,我当然不是新手。

双击这些警告(“ASP.NET运行时错误:对象引用未设置为对象的实例。”)将我带到这样的行:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="yanceys._Default" title="Web Order Entry" %>

这些文件夹出现在项目下的几个文件夹中 - 这些文件夹有一个Default.aspx文件,其下面是Default.aspx.vb文件。

它们看起来都一样,除了在Inherits元素中的“._Default”之前的内容(下面的“yanceys”):

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="yanceys._Default" title="Web Order Entry" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Order Entry Login Page</title>
</head>
<body>
<form id="form1" runat="server">
    <div>
    </div>
</form>
</body>
</html>

Default.aspx.vb文件也是一样的:

Namespace yanceys
    Partial Class _Default
        Inherits Page

        Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
            Session("SelectedMenu") = "Home"
            Response.Redirect("../Login.aspx?MemberNo=042")
        End Sub
    End Class
End NameSpace

...除了Namespace(上面的“yanceys”)和MemberNo(上面的“042”)之外,每个Default.aspx.vb文件都是唯一的。

可能是什么问题?可能是什么解决方案?

更新

当我对“命名空间”进行全局搜索以查看我可以在“yanceys”之前添加它以使其工作时,对于每种此类文件,警告的数量会膨胀为1,所有这些相同的潮流(“ASP.NET运行时错误:对象引用未设置为对象的实例。”),所有都指向与罪魁祸首相同的行:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="yanceys._Default" title="Web Order Entry" %>

这让我想到如果我能解决这些警告,那么错误(同一条带的错误,即“对象引用未设置为对象的实例”)也将得到解决。

更新2

根据T.S.的建议,我以VS(2013)为管理员,然后是文件&gt;打开网站......

重建工作;构建给我一个错误,像以前一样,但不同的一个:

  

错误1使用在应用程序级别之外注册为allowDefinition ='MachineToApplication'的部分是错误的。此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的。 C:\ MemberOrderEntry \ MembersOrderEntry \ MembersOrderEntry \ Mobile \ web.config 75

注意:这样做也会导致解决方案被命名为“localhost_2030”;这对我来说似乎很奇怪......

更新3

在回应T.S.的建议时,我认为无法将文件从代码文件转换为代码隐藏。

当我右键单击项目时,我看到了:

enter image description here

...当我右键单击单个.vb文件时,我看到了:

enter image description here

更新4

为了更清楚一点,当我点击警告信息时,警告(以及可能与之关联的“盲”错误)在错误列表中显示如下:

enter image description here

...并且有问题的文件存在于项目文件夹中,如下所示:

enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了this由猫写的优柔寡断的姓氏,听起来很有希望,所以我关闭了VS,删除了两个* .suo文件,重新打开VS(&#34;作为管理员&#34;)和那么项目,试过Build&gt;重建网站,得到:

Error   1   compiler initialization failed unexpectedly: Project already has a reference to assembly System.Web.Extensions. A second reference to 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Web.Extensions.dll' cannot be added. vbc : Fatal

双击错误让我无处可去。

我想,现在怎么样?试图添加的System.Web.Extensions.dll的第二个引用在哪里,我该如何防止?

与此同时,处理有关TFS连接的消息的烦恼让我绕道而行 - 为了摆脱项目的所有TFS遗迹。关于删除某些文件(* .vsssssssssccccc等)以及从.sln文件中删除某些全局部分的答案here不仅清除了这种烦恼,而且最终显然解决了其他问题。

以下是以下几种组合:

Deleting the .suo files
Cleaning out the TFS files and sections
Running VS as Administrator

......让项目进入实际终于运行的状态!这些奇怪的错误消息似乎是魔法和意外之间的混合物而已经消失了#34;由于这些旋转,但我想我会接受这样一个事实,即它至少终于有效了。

请注意(我不知道为什么或如何适应所发生的事情),我做的那些调整中的某些内容导致了#34; WEBSITE&#34; VS中的菜单更改为&#34; PROJECT&#34;

更新

今天菜单已经改变了返回,从PROJECT到WEBSITE,但它仍然在构建和运行,所以我想我只是惊慌失措地笑着继续。< / p>