2

相同的代码适用于 1 个项目,而不适用于其他项目。任何其他方式来写这个。我得到的错误是错误 CS1729:“评估”不包含带有 12 个参数的构造函数。当我复制到 diff 项目中时,它编译并且运行良好。尝试清理临时 asp.net 文件,但没有帮助。

public class Assessment
{ 
   public Assessment(Guid assessmentId,string applicationId,string assessmentType,   Guid requestedBy,DateTime requestedDate,Guid assessmentOwner,string applicationToTest,
bool isCompleted,DateTime dateScheduled,DateTime datePerformed, GuidperformedBy,       string uri)
   {
        this.AssessmentId = assessmentId;      this.ApplicationId = applicationId;
        this.AssessmentType = assessmentType;  this.RequestedBy = requestedBy;
        this.RequestedDate = requestedDate;    this.AssessmentOwner = assessmentOwner;
        this.ApplicationToTest = applicationToTest; this.IsCompleted = isCompleted;
        this.DateScheduled = dateScheduled;    this.DatePerformed = datePerformed;
        this.PerformedBy = performedBy;        this.uri = uri;

   }

   public Assessment()
   {
        this.AssessmentId = Guid.NewGuid();    this.ApplicationId = string.Empty;
        this.AssessmentType = string.Empty;    this.RequestedBy = Guid.NewGuid();
        this.RequestedDate = DateTime.Now;     this.AssessmentOwner = Guid.NewGuid();
        this.ApplicationToTest = string.Empty; this.IsCompleted = false;
        this.DateScheduled = Convert.ToDateTime(DateScheduled);
        this.DatePerformed = Convert.ToDateTime(DatePerformed);
        this.PerformedBy = Guid.NewGuid();   this.uri = string.Empty;

   }
 public Guid AssessmentId  { get;     set;  }                
 public string ApplicationId   {get;  set;  }               
 public string AssessmentType  {get;  set;  }                
 public Guid RequestedBy  { get;    set;   }                
 public DateTime RequestedDate {get; set;  }
 public Guid AssessmentOwner  {get; set;  }
 public string ApplicationToTest {get; set;  }                
 public bool IsCompleted  { get;  set;  }
 public DateTime DateScheduled  {get; set;   }              
 public DateTime DatePerformed  { get;  set; }
 public Guid PerformedBy { get;  set;  }
 public string uri  { get; set; }
}


aspx.cs
  protected void bnSubmit_Click(object sender, EventArgs e)
   {
       Assessment asst = new Assessment(Guid.Parse(AssessmentId.Text),
           txtApplicationID.Text,
            DropDownList1.SelectedValue,
            requestedBy,
            DateTime.Now,
            Guid.Parse(txtAssessmentOwnerEmail.Text),
            ddlApplicationToTest.SelectedValue,
            false,
            CalendarExtender1.SelectedDate.GetValueOrDefault(),
            CalendarExtender2.SelectedDate.GetValueOrDefault(),
            Guid.Parse(txtPerfomedBy.Text),
            txtUri.Text);
    db.AddAssessment(asst);
  }
4

2 回答 2

3

要调查的事情:

  1. 是否有Assessment在其他命名空间中命名的任何其他类定义?
  2. 检查您的项目参考。确保您引用了包含正确Assessment定义的程序集。您可能在不知不觉中引用了该程序集的旧版本。
  3. 使用 ILSpy 等反汇编程序检查包含Assessment. 验证它包含正确的类定义。
于 2013-06-04T19:39:54.673 回答
0

发布的代码显示了Assessment课程的开始。该课程没有结束}

然后是一个函数调用(通常是页面类的一部分),它创建一个新的评估类。

所以我猜这是你加入的两个文件来解释你的问题。这意味着您没有在页面类中包含 using - 或者名称中有拼写错误,或者在您的项目中引用了不同的文件。

评估类也可能未编译,但有一个先前编译的版本正在链接。

沿着这些思路。无论如何,这不是您使用的确切代码,因此我们不可能找出问题所在。您可以将完整的代码放在某个地方(bitbucket?),然后我们可以看到问题所在。

于 2013-06-03T23:34:45.550 回答