问题描述
在一现有WInform设计的软件的基础上,我需要再设计一个注册用的窗口,通过对数据库mydata中的数据表RegisterState中的数据来判断该机器是否已经注册。主程序Main.cs是在项目myprogramm里面,注册窗口Registor.cs也在myprogramm项目里,但是是另外一个命名空间里定义。而在类RegManage.cs中定义数据库操作,它是在DataAccess项目里。该应用的命名空间我都已经在相应程序里面添加了。在没有加入注册相关的程序前,主程序是可以正常运行的。初步的设计是在programm.cs里面,写成if(RegManage.CheckState())//验证注册信息{Application.Run(newMain());}else{Registorre=newRegistor();if(re.ShowDialog()==DialogResult.OK){Application.Run(newMain());}}
现在的问题是,程序在重建解决方案时,无法重建。没有红色error,黄色警告是有几个,但是都是不重要的或者以前就有的。唯一的提示是,success1,fail1。通过排查,发现问题出在类RegManage.cs中。如果不调用该类里面的任何相关的方法,解决方案能正常重建。我尝试了一下几种方法:1、把类RegManage.cs中所有的方法中的内容注释掉了,比如只剩下一个空的方法publicclassRegManage{publicstaticboolCheckState(){}}
结果是不行。2、完全不用DataAccess项目中的类RegManage.cs,在主程序的项目里面新建一个类,用它来代替RegManage.cs。结果也还是不行。3、我完全新建了一个新的Winform项目,在它之前新建一个注册窗口,包括相应的RegManage.cs类,在它的programm.cs里面重加入一开始的验证注册的程序,然后重新生成解决方案,发现这样就可以了。这就把我完全搞糊涂了,到底哪里出了问题??有没有大神碰到过类似的问题而且解决了的??
解决方案
解决方案二:
fail然而没有error?
解决方案三:
引用1楼FoxDave的回复:
fail然而没有error?
是的啊,不然我也可以针对error来找错误了。提示的只有警告,而且警告里面,没有一个是关于我新建的项或者窗口的。
解决方案四:
今早仔细看了看Output窗口中的每个输出项,发现了错误:errorCS0103:Thename'RegManage'doesnotexistinthecurrentcontext。问题是,RegManage的命名空间我已经在注册窗口Registor.cs中声明了。现在正在进一步看看是什么问题。
解决方案五:
引用2楼CookiesKnight的回复:
Quote: 引用1楼FoxDave的回复:
fail然而没有error?是的啊,不然我也可以针对error来找错误了。提示的只有警告,而且警告里面,没有一个是关于我新建的项或者窗口的。
你只是把error隐藏了吧,不可能没有
解决方案六:
引用4楼FoxDave的回复:
Quote: 引用2楼CookiesKnight的回复:
Quote: 引用1楼FoxDave的回复:
fail然而没有error?是的啊,不然我也可以针对error来找错误了。提示的只有警告,而且警告里面,没有一个是关于我新建的项或者窗口的。
你只是把error隐藏了吧,不可能没有
真没有,不信你看截图。