2017-06-06 68 views
0

当我使用的Visual Studio 2016(或与此有关的任何Visual Studio)建立自己的网站项目工作正常,编译器给我一个错误:网站不建,而是在浏览器ASP.net

Error when building

但是,如果我转到代码文件ResetPassword.aspxedtEmployeeSurname控件存在,并且它具有runat="server"属性。

也没有给我的错误,如果我打开ResetPassword.aspx.vb代码文件。 (所以在任何变量名称/控件ID下面都没有红线)。

ResetPassword.aspx View

什么是真正有趣的是,从浏览器的网站(即使ResetPassword.aspx)加载正确没有任何问题,我可以提交表单。

如果我注释掉ResetPassword.aspx.vb中的所有代码,那么它只是发现另一个控件“不存在”,因此它会进行大量的页面操作。

所有我想知道的是:

  • 是什么原因导致了这些问题
  • 如何解决这些问题OR如何确定的问题是什么。

如果这是一些开发人员犯的常见错误,请帮助我制定一个在谷歌中使用的搜索字符串,因为我的大多数搜索结果是模糊的或偏离主题。

+0

可能是浏览器正在加载以前编译的版本,并且VS中没有编译的内容是对代码的更改。没有看到相关的代码片段,任何人都不可能真实地提出一种解决方法。 – ADyson

+0

@ADyson,如果你能告诉我你需要查看哪些代码,我可以发布它,但基本上,如果我对“ResetPassword.aspx”进行了更改(如添加一个新的文本框),那么它将加载到浏览器中,并且vb代码将处理与文本框相关的任何事件,所以它不会加载以前编译的版本,或者至少它不会像它那样出现,我每天都在积极地对网站进行更改,并且所有更改都会正确加载。 –

+0

可能只是VS中的错误,我猜。如果你清理解决方案,重新启动VS然后做一个全新的版本,你会得到错误吗? – ADyson

回答

1

我以前遇到过这样的事情,我相信你看到的错误是红鲱鱼。他们让我相信,你的用户控件的一个较低的项目被定义,或者甚至可能低于这个项目,它有一个可能不相关的错误,导致它不能由visual studio构建,这反过来使视觉工作室认为你的用户控件没有定义。

我通常所做的是构建解决方案并观察输出窗口。它将单独构建所有项目,在输出窗口中弹出的第一个错误是问题的根源。你所看到的一切都是这个原始问题的症状。如果您修复了输出中显示的第一个错误,那么它将正确地构建,否则您将不得不重复弹出下一个错误的过程。

Visual Studio中使用顺序错误列表订购的错误,他们在生成过程中来了,但已经改变了,我个人而言,真的首选旧的排序(我认为这是一个设置,您可以使用回到旧的排序,但我想不起我的头顶)。

1

从截图,它表明你在你的项目错误。如果您没有设置,应用程序将无法成功运行。

你可以让应用程序运行,即使错误。 enter image description here

检查,以便后期:

Debugging runs even with compiler's errors in Visual Studio

注:

如果已经清理和重建方案, 尝试运行在其他浏览器或其他计算机应用,可能是你有从以前的成功结果中显示的数据。

+0

我试过这个解决方案,甚至去我的机器上卸载并重新安装VS,但问题仍然存在,即使它编译时不会显示错误(运行最后一次成功构建,它仍然不会将调试器附加到代码中,因为它有错误)。 –

+0

@JacquesKoekemoer你有​​没有试过在其他系统中运行代码? – tharif

0

根据错误的措辞,我相信你可能指的是ResetPassword.aspx后面的代码之外的一些控件。消息的后面部分表示由于其保护级别,可能无法访问。默认情况下,放置在窗体上的控件的支持变量为Protected,因此无法在该控件或其继承链的范围之外看到。

相关问题