注册 登录
编程论坛 ASP.NET技术论坛

[求助]请各位帮忙看下我这里编译出错的情况?[已经解决]

pacocai 发布于 2007-03-24 11:12, 804 次点击

网站发布时需要进行编译,但是我在进行编译时老出错.而且已经将代码精简到入门的第一个程序还是出错,各位帮忙看看.

程序代码:

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<html>
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="Form_Post" runat="server">
<asp:Label id="name" runat="server"/>
</form>
</body>
</html>

--------------------------分隔线------------------------------------
Default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
name.Text="hello world!";
}
}

我在编译Default.aspx.cs的时候老提示说上下文中不存在名称"name",我机子里没装Vs.net,我写代码都是用EditPlus写的,然后直接调用csc.exe进行编译,请问现该怎么弄呢?还请各位指点,谢谢了!

[此贴子已经被作者于2007-3-24 22:19:56编辑过]

16 回复
#2
卡洛2007-03-24 11:49

把你错误信息发出来看看``

#3
pacocai2007-03-24 12:22
错误信息显示:上下文中不存在名称"name"

这个是在DOS下执行csc.exe Default.aspx.cs得到的错误信息。
#4
卡洛2007-03-24 12:30

晕死。没错啊。

#5
scindy2007-03-24 12:35
好像得加上这条语句吧:

protected System.Web.UI.WebControls.Label name;

劝你还是用VS吧~~~方便,可以省去很多不必要的麻烦~~~

#6
scindy2007-03-24 12:38
如果是的话这条语句加在如下位置:
public partial class _Default : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label name;

protected void Page_Load(object sender, EventArgs e)
{
name.Text="hello world!";
}
}


#7
卡洛2007-03-24 13:13
protected System.Web.UI.WebControls.Label name;
asp.net 2005是不需要加的。。所以我才说他那代码没错啊
#8
scindy2007-03-24 13:29
楼主也没有说他用的是哪个版本啊`~~~

而且他用的是EditPlus写的`~~

不太清楚了,这只有他自己试了才知道```



#9
卡洛2007-03-24 13:34
public partial class _Default : System.Web.UI.Page
_Default asp.net 2005 的默认类就是这样的啊.2003的好象没有前面那下横线
#10
scindy2007-03-24 13:44
这个我就不太清楚了,我一直用的是2003,没有用过2005


楼主自己试下吧`~~


#11
pacocai2007-03-24 17:37
回复:(scindy)好像得加上这条语句吧:protected Sys...
好像不行,加上这句以后不用编译,直接在浏览上测试就出错.......
错误提示:编译器错误信息: CS0102: 类型“_Default”已经包含“name”的定义
行 13: protected System.Web.UI.WebControls.Label name;

CSC下不用试了吧???因为在网页上浏览都通不过用CSC编译也没什么意义.我最初发的代码在浏览器上测试通过,但是用CSC上编译不通过......倒不是偶不想装VS.NET,问题是他太大了,而且很多时候如果想写一些小型的代码就感觉杀鸡用牛刀.....,而且相对把什么东东都项目化我更喜欢自己规划项目,而且VS.NET对单个控件或是单个页面是不能编译的吧,我记得好像是这样.
#12
pacocai2007-03-24 17:41
理论上来说语句应该没错,因为语句部份都是VS.NET建的标准模板,我直接用VS.NET生成编辑模板,然后再到EDITPLUS下使用的.就是不知道为什么在编译下出错,要不那位装有VS.NET直接就做一个,在页面上增加一个标签,然后在后台CS里给这个标签增加相应的文本内容,然后把代码贴一下,我们对比一下.
#13
哭泣的狼2007-03-24 19:03
2005没有使用哪个,所以不知道?
顶顶顶!!
#14
pacocai2007-03-24 19:10
谁装有2003的新建一个工程,做一下我提出的代码,试试编译,如果成功的话把代码贴一下,我们大家分析一下,谢谢了.

PS:顺带想问下,具体2003和2005有什么区别???我现在用的电脑是C1.7,512M内存,我跑2005感觉像乌龟在爬,不知道2003是不是会好些,那位能详细的说下.具体的配置...别说偶土,我用的所有的软件都是低版本要不就是绿色版的,我现在还在用DW3,感觉构建页面,用DW3够用了,Photoshop用4.01(用得顺手,高版本的反而不顺手),以前做ASP的时候习惯用EDITPLUS了,所以想能不能不装2003的情况下直接写代码吧,忘大家能一周研究,研究!...
#15
pacocai2007-03-24 19:11

对了,忘了说,我现在编译是用Framework 2.0

#16
IPV62007-03-24 21:20

VS.NET2003里的是ASP.NET1.0,而VS.NET2005里是ASP.NET2.0

#17
pacocai2007-03-24 21:44
行了,搞定了,原来我一直以为是用CSC.EXE进行编译,后来上MSDN看了一下关于预编译的资料.原来不是用CSC.EXE进行编译的,而整个运作机制进行预编译都是通过aspnet_complier.exe进行预编译的,只要将需要编译和发布的网页放到你的IIS的根目录下,然后把IIS的目录清理干净(因为这个是整站编译,如果有其它的东东也会一起编译,),直接调用aspnet_complier.exe进行编译的发布,编译好的东西会在所指定的目录中,编译好以后再把ISS目录里的东西DELTREE掉,然后再把编译好的东西COPY进去就OK了.
1