如何修复这些C#错误?

时间:2011-06-22 14:51:01

标签: c# visual-studio-2010

我找到了一些代码来帮助我完成一个项目,当我第一次运行代码时,我收到一条错误消息,指出:“Visual Studio无法启动调试,因为缺少调试目标c:\ path \'dirInfo.exe'。请构建项目并重试,或者适当地设置OutPath和AssemblyName属性以指向目标程序集的正确位置。“

然后我选择确定并收到一条错误消息,指出缺少部分。我添加了部分代码并收到3个错误消息。

  1. “RecursiveSearchCS.Form1”类型已包含“components”的定义

    • 这是否意味着我应该从Form1.cs文件中删除它?
  2. 类型'RecursiveSearchCS.Form1'已经定义了一个名为'Dispose'的成员,其参数类型相同。

  3. 类型'RecursiveSearchCS.Form1'已经定义了一个名为'InitializeComponent'的成员,它具有相同的参数类型。

  4. (我注意到,当我注释掉InitializeComponent行和/或Dispose行时,错误中会填充更多错误消息)

    按照他们的方式,您可以找到原始代码@ MicrosoftSite

    非常感谢任何帮助。

    谢谢

4 个答案:

答案 0 :(得分:4)

只是直觉,如果你跟着并复制粘贴,请记住一件关键的事情:

设计人员在创建表单时创建两个文件:“代码”文件和“设计器”文件。但是,当microsoft(和其他人)发布“模板”时,他们喜欢合并这两个文件。

只需创建一个新的.cs文件并粘贴代码,一切都应该是好的。它的代码基本上是“在设计师中,我们已经拥有了这些东西”。 (注意这一点的一个好方法是位于Form1声明之前的“部分”关键字)


更多信息:

代码文件将包含您自己的所有实现。这是单击事件,您亲自覆盖的方法,绑定到的事件等。当您从解决方案资源管理器或对话框本身中选择“查看代码”时,这是默认文件。在这个文件中是一个调用“隐藏”方法的构造,(InitializeComponent),如果你右键单击并“转到定义”将带你到下一个文件:

Designer 文件是IDE生成的文件。这包括您在设计师中所做的一切,并为您存储。这包括新控件,控件的位置和属性以及IDisposable实现。我们的想法是在您只担心实施的同时,将“肉马铃薯”放在一边。

答案 1 :(得分:2)

是的,听起来你已经复制了整个代码,其中包含部分类中已包含在表单中的许多内容。删除这些或从表单中删除部分类和部分类声明以消除这些错误

答案 2 :(得分:1)

我去了微软网站看看你做了什么。该站点显示整个“一个文件”解决方案的代码。我们都同意Visual Studio创建多文件解决方案,因此您需要复制代码。

我不知道当前的答案/评论是否有助于您使示例代码正常工作,所以我想我会添加我的分享。通过执行以下操作,我能够使这个示例正常工作:

首先,Microsoft网站上的示例代码显示按钮,文本框,标签和组合框的声明,而不是尝试复制该部分,我只是使用工具箱并拖动按钮,标签,文本框和从工具箱到我的表格的组合框。

你可能想根据自己的喜好安排这些。

此过程使用相应的对象正确创建了我的表单。我所要做的就是使用每个对象的属性窗口,并根据它们在样本中命名的内容重命名它们。例如,我的新按钮最初是 button1 ,但我将其重命名为 btnSearch ,就像它在Microsoft示例中命名一样。

我注意到Microsoft示例已为Form1_load()事件设置了已建立的事件处理程序。我通过单击设计器中的表单,单击属性,单击该属性中的“事件”按钮,然后双击“加载”事件,在表单中创建了相同的事件。这会自动生成相应的代码。

以类似的方式,我不得不创建btnSearch_Click()事件。我只需双击设计器中的按钮即可完成此操作。

之后,我所要做的就是手动将示例的特定部分复制并粘贴到我的代码中 - 使用示例中的内容填写Form1_Load()事件。复制DirSearch()方法。填写btnSearch_Click()事件。就是这样。

我希望这有助于解决整体问题,并让您更深入地了解如何在将来避免这些问题。

答案 3 :(得分:0)

您在类中有重复的功能,您拥有一个自动使用该功能生成的文件。