Visual Studio 2012错误,但网站项目工作

时间:2014-08-09 01:06:07

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

我正在使用“Visual Studio Express 2012 for Web”在我们的开发服务器上维护一个网站。 (我不是这个网站的原始开发者,但我是当前的维护者。)当我浏览浏览器到dev网站时,它可以工作。该站点也已部署到qa和生产服务器,它也适用于这些层。但是,在开发服务器上的VS中,我显示了100多个错误。 VS处于此状态时,自动识别键入不起作用,我无法使用任何调试功能,直到我可以解决错误。由于该网站有效,似乎问题出在VS.

以下是一个示例错误,其中包含一些背景说明:

Error 1:    Type 'ReportsDashboard' is not defined.

错误是指文件C:\ inetpub \ wwwroot \ Reports \ Dashboards \ Indicators.aspx.vb。
该文件的前几行是:

Imports System.IO
  Partial Class Reports_Dashboards_Indicators
  Inherits ReportsDashboard
    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
… etc…

该文件是C:\ inetpub \ wwwroot \ Reports \ Dashboards \ Indicators.aspx的代码,第一行是:

<%@ Page Language="vb" AutoEventWireup="false" MasterPageFile="~/Reports/ReportMaster.master" CodeFile="Indicators.aspx.vb" Inherits="Reports_Dashboards_Indicators" EnableViewState="False" %>
…etc…

代码隐藏文件中的Inherits行引用另一个文件:C:\ inetpub \ wwwroot \ App_Code \ ReportsDashboard.vb,其前几行是:

Imports System.IO
  Public Class ReportsDashboard
  Inherits System.Web.UI.Page
…etc…

所以看起来VS中无法识别Indicators.aspx.vb(代码隐藏)中的“Inherits ReportsDashboard”行,即使该文件位于App_Code中,并且在部署网站时一切正常。

列表中经常出现的另一个错误是:

Error   21  'TotalLabel' is not declared. It may be inaccessible due to its protection level.

错误是指文件后面的代码(在这种情况下是.ascx.vb),但是所谓的未声明对象就在关联的.ascx文件中。

正如我所提到的,该网站运行。所有应用程序代码,代码隐藏,类定义,属性等都可以执行它们应该执行的操作。但由于某些原因,VS抛出错误而无法找到App_Code中的代码。我找不到任何方法来显式引用App_Code中的代码,所以我假设它以某种方式由.Net隐式引用。我怎么能解决这个问题呢?我该在哪里开始寻找?

一个相关的问题:我还注意到这个项目的一些代码是在一个单独的ClassLibrary项目中定义的,该项目作为参考包含在内。 VS在那里找到代码似乎没有任何问题(类库是构建顺序中的第一个)。这两种不同的方式是做同样的事情,即单独的ClassLibrary项目中的编译代码与网站项目的App_Code文件夹中的未编译代码?它会解决我的问题从App_Code移动类定义并将它们包含在已编译的ClassLibrary中吗?或者这两种方法有什么区别?

0 个答案:

没有答案