真正用ASP.Net开发程序是上个星期。
大三时候开发了一个办公自动化系统,前后合计花了一个学期,开发语言是ASP。后来老师要求对OA系统进行改版,改用ASP.Net进行重新改写。于是我接触了ASP.NET,在没有经过系统的学习的情况学,我凭借着ASP开发的经验,直接就用ASP.NET进行开发。这期间遇到不少问题,通过看书还有就是在群里面请教高手,问题都一一解决了。但是三层构架这个问题却困撹了我好几天。问题出在我对开发步骤的不清楚。
我的开发环境如下:
系统:Windows 2003
软件:Visual Studio .Net 2005中文正式版,Sql server 2005。
由于没用Visual Studio 2005之前我是直接用记事本编辑,我建了一个虚拟目录EOffice。装上Visual Studio 2005之后,我新建一项目,然后打开一个现有的网站项目http://127.0.0.1/EOffice。没用三层构架之前一切正常,后来我做了新建了一个C#类库,编译。按正常的步骤,进行引用,浏览,那dll引用了进来。在网站项目的目录下自动新建一个Bin文件夹,然后把dll(假设是UserInfo.dll)复制到Bin文件夹下面。然后我在Index.aspx.cs里面引用名字空间(EOffice,UserInfo),using EOffice,UserInfo;然后在编辑器在我构找新的UserInfo函数时能够智能提示,按理说名字空间应该是引用进来拉,然后我编译,没有错误,通过。也就是说名字空间是存在的。但是我Ctrl + F5运行。却提示名字空间不存在。
然后我想到的是,可能是我的dll有问题,我马上向群(我QQ里面有10个.Net的群)上的人求助,当然他们都非常热心的帮忙,有的加我为好友,把自己开发的dll发给我测试,但是还是不好使。我不断地查书,在baidu上搜啊搜,没有看到有人遇到跟我一样的问题。后来我重新建了一个vb.net的项目,把dll引用进去,名字空间一点问题都没有,我又试了一个c#项目,引用名字空间也没问题,我再试了新建一个web项目,结果都引用正常。后来我进到IIS里面看设置,发现虚拟目录和visual studio 2005里面建的项目的目录图标是不一样的。终于发现问题拉,原来我一开始建的虚拟目录是不行的。我重新把虚拟目录删除,在Visual Studio 2005里面重新建项目,把dll引用。然后把以前的那些文件重新复制过去。一切OK。
这个问题的根源是我对ASP.Net的目录的原理不清楚。不过我现在还不知道为什么建虚拟目录不好使。期望得到别人的回答。希望遇到同样问题的朋友能够得到一点点启示。
浙公网安备 33010602011771号