C# 在网站用户控件上运行aspnet_编译器时出错

C# 在网站用户控件上运行aspnet_编译器时出错,c#,.net-3.5,nant,aspnet-compiler,C#,.net 3.5,Nant,Aspnet Compiler,我在Visual Studio中的构建和运行都很好,但是当我运行Nant任务编译网站时,它会给我一个错误: [path]\ContactView.ascx error CS0117: 'System.Web.UI.Usercontrol' does not contain a definition for 'Name' 我有一个名为ContactView的用户控件,它还有一个名为ContactForm的用户控件。联系人表单是具有Name属性的表单(声明为内联,没有.cs文件)。我不明白为

我在Visual Studio中的构建和运行都很好,但是当我运行Nant任务编译网站时,它会给我一个错误:

[path]\ContactView.ascx   
error CS0117: 'System.Web.UI.Usercontrol' does not contain a definition for 'Name'
我有一个名为ContactView的用户控件,它还有一个名为ContactForm的用户控件。联系人表单是具有Name属性的表单(声明为内联,没有.cs文件)。我不明白为什么错误出现在父用户控件上,甚至不明白为什么它会抱怨

当VS2008构建和编译它时,代码似乎运行得很好

有什么想法吗

我知道nant构建脚本适用于我的2.0网站,在这个websites web.config中,我添加了3.5编译器。我有什么遗漏吗

编辑:此错误实际上显示在此用户控件和其他一些属性上的每个属性。我不知道这个错误的一个实例是否会导致多个故障,或者所有用户控件是否真的无效


更新:该错误必须与框架的v3.5相关,因为它还抱怨自动属性。当我将它们切换到具有支持字段时,它会起作用。

看起来您要么需要使用NAnt 0.86 Beta 1,要么使用它。使用命令行上的-t选项以正确的版本为目标。您还需要确保在构建服务器上安装了.NET3.5(可能还有SP1)


从NAnt到MSBuild通常更容易,因为后者支持.sln文件。

问题似乎是,当您以可更新模式编译网站时,不允许在没有代码延迟的用户控件中调用公共方法/属性

一旦代码被移动到.cs页面,它就工作了