2016-04-25 73 views
0

我正在研究Visual Studio 2010中一个相当大的网站项目,我想知道为什么当我单独测试网页时(通过右键点击.aspx文件并选择View Changes in Browser),代码中的更改会反映出来,即使那里是代码中的错误,以防止它编译。这让我困惑。我在Visual Studio中运行代码时遇到了几个错误。但是,如果我只是在浏览器中查看页面,则会反映客户端代码或服务器端代码中的任何更改。这对于客户端代码和标记是有意义的,但为什么它甚至会采用“有缺陷”的服务器端代码?服务器端代码是否需要编译?感谢您的任何意见。我对这个主题有更多的问题,但我希望这个问题的答案能帮助我回答我的其他问题。即使代码不能编译,为什么代码中的更改反映在ASP.NET网站中?

编辑:在错误的详细信息我越来越

我已经学会从分配给这个项目的原开发商的更多细节。他告诉我,对于他为项目构建的每个附加功能,他都复制并粘贴了原始项目目录并重命名了该文件夹。例如,这是原来的项目目录:

App_Code文件[文件夹]

的App_Data [文件夹]

的Web.config [文件]

...

他复制此每次他在网站上建立一个新的“模块”。这当然不是我可以做到的方式,但现在已经完成了。现在,这个原始项目目录有4个副本,这意味着有4个web.config文件,4个App_CodeApp_Data文件夹(以及App_Code文件夹中的4个副本)。我得到的错误是这样的:[server control] is not declared. It may be inaccessible due to its protection level[server control] is not a member of [partial class],以及其他几个肯定会提醒智能感知的人,如果他们实际上是错误的话。看起来,出于某种原因,我的每个网页上的服务器控件都没有正确链接到相应的代码隐藏文件。但智能感知不会突出这些错误或以任何方式承认它们。我尝试构建项目时遇到这些错误。我试图公开设计器代码文件以尝试手动修复这些错误,但我了解到,您无法在Website项目中这样做。我诚实地处于亏损状态。

如果有人有任何想法如何解决这个问题,请让我知道。如果我可以更清楚,请告诉我。我不能包含任何实际的代码,但我可以尝试给你一些例子,如果这会有所帮助。

这是另一个似乎与我的相似的问题。即使Visual Studio报告的错误数量也是一样的。 variable is not declared it may be inaccessible due to its protection level

+0

当您按F5时,您的Visual Studio的“配置管理器”是否设置为编译网站代码文件?您在正在处理的文件或其他文件中提到的编译错误是什么? – laylarenee

+0

我不相信服务器端代码已更新。我的意思是,如果vb.net代码不能编译,那么它不会编译。没有什么能够阻止你保存源代码,但是如果代码不能编译,那么它不可能被保存! - 当你注意到标记等被保存,但vb。网络代码也可以保存,并且肯定会。但是,如果这样的服务器代码不能编译,那么它不会编译 - 这一事实与代码没有保存很少有关。我们讨论的唯一编译是vb.net代码,因为其他的都是运行时。 –

+0

@ AlbertD.Kallal我完全同意。我认为我在编译代码时遇到的错误本身就是错误的。我不知道为什么,但它说,我放在页面上的所有服务器控件由于其保护级别而无法访问,因此代码无法编译。但是,当我右键单击并在浏览器中查看页面时,它工作得很好。它只是拒绝运行。 – ic3man7019

回答

0

事实证明,原始开发人员已经制作了部分类文件的副本。他们分散在整个项目中,所以我不知道他们在那里。删除后,一切都按照我的预期工作。

+0

不好意思成为**约翰尼最近来**你的这个问题,但我很高兴你明白了。 – jp2code

+0

@ jp2code谢谢。我提到的你的问题对于理解正在发生的事情非常有帮助。如果你想看看,我还有一个。 :) http://stackoverflow.com/q/36894814/2465664 – ic3man7019