申报时缺少部分现代

本文关键字:少部分 | 更新日期: 2023-09-27 18:03:40

当我尝试运行我的程序时,我如何纠正我得到的错误,我在网上找到了这个程序,似乎它是在visual c# 2005中编译的,我使用visual c# 2010在编译

之前,我得到了这两个错误

错误2 'RecursiveSearchCS.Form1.components'和"RecursiveSearchCS.Form1.components"C:'Users'jacr'AppData'Local'TemporaryProjects'WindowsFormsApplication1'Form1.cs 46 21 WindowsFormsApplication1

Error 1以下方法之间的调用有二义性属性:'RecursiveSearchCS.Form1.InitializeComponent()'和C:'Users'jacr'AppData'Local'Temporary ' RecursiveSearchCS.Form1.InitializeComponent()"项目' WindowsFormsApplication1 ' Form1.cs

32 13 WindowsFormsApplication1

和当我试图编译它与错误我得到这个

错误1类型声明中缺少部分修饰符"RecursiveSearchCS.Form1";该类型的另一个部分声明存在C:'Users'jacr'AppData'Local'TemporaryProjects'WindowsFormsApplication1t'Form1.cs 14 18 WindowsFormsApplication1t

我到底该怎么做??我的程序搜索文件文本文件在一个目录,但似乎我得到这个错误…这是form1.cs

上的代码
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
namespace RecursiveSearchCS
{
    public class Form1 : System.Windows.Forms.Form
    {
        internal System.Windows.Forms.Button btnSearch;
        internal System.Windows.Forms.TextBox txtFile;
        internal System.Windows.Forms.Label lblFile;
        internal System.Windows.Forms.Label lblDirectory;
        internal System.Windows.Forms.ListBox lstFilesFound;
        internal System.Windows.Forms.ComboBox cboDirectory;
        private System.ComponentModel.Container components = null;
        public Form1()
        {
            InitializeComponent();
        }
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        private void InitializeComponent()
        {
            this.btnSearch = new System.Windows.Forms.Button();
            this.txtFile = new System.Windows.Forms.TextBox();
            this.lblFile = new System.Windows.Forms.Label();
            this.lblDirectory = new System.Windows.Forms.Label();
            this.lstFilesFound = new System.Windows.Forms.ListBox();
            this.cboDirectory = new System.Windows.Forms.ComboBox();
            this.SuspendLayout();
            this.btnSearch.Location = new System.Drawing.Point(608, 248);
            this.btnSearch.Name = "btnSearch";
            this.btnSearch.TabIndex = 0;
            this.btnSearch.Text = "Search";
            this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
            this.txtFile.Location = new System.Drawing.Point(8, 40);
            this.txtFile.Name = "txtFile";
            this.txtFile.Size = new System.Drawing.Size(120, 20);
            this.txtFile.TabIndex = 4;
            this.txtFile.Text = "*.dll";
            this.lblFile.Location = new System.Drawing.Point(8, 16);
            this.lblFile.Name = "lblFile";
            this.lblFile.Size = new System.Drawing.Size(144, 16);
            this.lblFile.TabIndex = 5;
            this.lblFile.Text = "Search for files containing:";
            this.lblDirectory.Location = new System.Drawing.Point(8, 96);
            this.lblDirectory.Name = "lblDirectory";
            this.lblDirectory.Size = new System.Drawing.Size(120, 23);
            this.lblDirectory.TabIndex = 3;
            this.lblDirectory.Text = "Look In:";
            // 
            // lstFilesFound
            // 
            this.lstFilesFound.Location = new System.Drawing.Point(152, 8);
            this.lstFilesFound.Name = "lstFilesFound";
            this.lstFilesFound.Size = new System.Drawing.Size(528, 225);
            this.lstFilesFound.TabIndex = 1;
            this.cboDirectory.DropDownWidth = 112;
            this.cboDirectory.Location = new System.Drawing.Point(8, 128);
            this.cboDirectory.Name = "cboDirectory";
            this.cboDirectory.Size = new System.Drawing.Size(120, 21);
            this.cboDirectory.TabIndex = 2;
            this.cboDirectory.Text = "ComboBox1";
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(688, 277);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
            this.btnSearch,
            this.txtFile,
            this.lblFile,
            this.lblDirectory,
            this.lstFilesFound,
            this.cboDirectory});
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);
        }
        #endregion
        [STAThread]
        static void Main()
        {
            Application.Run(new Form1());
        }
        private void btnSearch_Click(object sender, System.EventArgs e)
        {
            lstFilesFound.Items.Clear();
            txtFile.Enabled = false;
            cboDirectory.Enabled = false;
            btnSearch.Text = "Searching...";
            this.Cursor = Cursors.WaitCursor;
            Application.DoEvents();
            DirSearch(cboDirectory.Text);
            btnSearch.Text = "Search";
            this.Cursor = Cursors.Default;
            txtFile.Enabled = true;
            cboDirectory.Enabled = true;
        }
        private void Form1_Load(object sender, System.EventArgs e)
        {
            cboDirectory.Items.Clear();
            foreach (string s in Directory.GetLogicalDrives())
            {
                cboDirectory.Items.Add(s);
            }
            cboDirectory.Text = "C:''";
        }
        void DirSearch(string sDir)
        {
            try
            {
                foreach (string d in Directory.GetDirectories(sDir))
                {
                    foreach (string f in Directory.GetFiles(d, txtFile.Text))
                    {
                        lstFilesFound.Items.Add(f);
                    }
                    DirSearch(d);
                }
            }
            catch (System.Exception excpt)
            {
                Console.WriteLine(excpt.Message);
            }
        }
    }
}

申报时缺少部分现代

你给出的代码实际上可以很好地编译。

然而,看看这些错误,你似乎有两个副本:

C:'Users'jacr'AppData'Local'Temporary Projects'WindowsFormsApplication1'Form1.cs
C:'Users'jacr'AppData'Local'Temporary Projects'WindowsFormsApplication1t'Form1.cs

请注意第二个目录名后面的"t"。

去掉其中一份副本,应该就没事了。(你应该可以在Visual Studio中删除它-我怀疑你可以看到两个Form1.cs文件…)

partial关键字扩展class声明:

public partial class Form1 : System.Windows.Forms.Form

尝试使用partial关键字;

public partial class Form1 : System.Windows.Forms.Form

EDIT:看起来你有这个项目的两个副本;

C: ' '用户当地jacr ' AppData ' '暂时的项目' WindowsFormsApplication1 ' Form1.cs

C: ' '用户当地jacr ' AppData ' '暂时的项目' WindowsFormsApplication1t ' Form1.cs

放弃其中一个项目,因为你问了他们同样的问题。也许这就是原因。

正如大多数人已经告诉你的那样,你需要在你的类声明中使用partial -关键字。

public partial class Form1 : System.Windows.Forms.Form

当你使用Windows窗体时,visual Studio会将你的窗体分成几个文件(MyForm.cs用于你的代码,MyForm.Designer.cs用于你的UI元素的自动生成代码,有时还会附带一个资源文件)。因为类被分成几个文件,所以需要partial -关键字来告诉编译器在完成这个类之前继续查找更多的文件。

关于partial关键字的更多信息可以在这里找到:http://msdn.microsoft.com/en-us/library/wa80x488%28v=vs.80%29.aspx