【问题标题】:Method does not contain definition when it is there方法存在时不包含定义
【发布时间】:2013-02-04 16:14:32
【问题描述】:

我在 csla 框架中使用 Visual Studio 2012 和 Codesmith 工具。

我最近重新生成了我的课程,现在我遇到了最奇怪的错误。在我的一个 aspx.cs 文件中,构建后,它说

“X 不包含 Y 的定义”

但是在 X 类中有一个 Y 的定义。事实上,我可以右键单击该方法并导航到它,它确实存在。 Visual Studio 建议为它生成一个方法,我这样做了。但是现在错误说

"X 已经定义了一个名为 Y 的成员,具有相同的参数类型"

即该方法已经存在。

这是没有意义的,因为这些类文件并没有随着重新生成而改变。我知道这一点,因为我们的文件处于颠覆之下。

以前有没有人看到过这个问题并且对如何解决它有任何建议?

【问题讨论】:

  • 你能在干净的盒子上复制吗?
  • 所有参考项目都在构建吗?有时我会在引用其他未正确构建的项目的项目中看到类似的错误。

标签: c# visual-studio-2012 csla codesmith


【解决方案1】:

对于将来发现此内容的任何人。问题在于使用codesmith“Entities.csp”重新生成。原来 Class X 在再生之前是可编辑的根,但不知何故设法变成了可编辑的孩子。虽然代码还在,但 X.cs、X.DataAccess 和 X.generated 的组合没有缺少的方法。

【讨论】:

  • 我编写了 CSLA 模板并为 CodeSmith 工作。如果您可以向支持人员发送可以重现此行为的示例,我将对此进行研究。通常此错误是由需要删除的旧文件引起的。我最近修复了一个错误,如果您没有打开 csp(管理输出)、查看属性并在运行快速入门后单击保存,则可能会发生这种情况...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多