簡體   English   中英

如何解決這些C#錯誤?

[英]How do I fix these C# errors?

我在項目中找到了一些可以幫助我的代碼,當我第一次運行該代碼時,我收到一條錯誤消息,指出:“ Visual Studio無法啟動調試,因為缺少調試目標c:\\ path \\'dirInfo.exe'。請構建項目,然后重試,或者適當地設置OutPath和AssemblyName屬性以指向目標程序集的正確位置。”

然后,我選擇確定,並收到一條錯誤消息,指出缺少該部件。 我將部分代碼添加到代碼中,並收到另外3條錯誤消息。

  1. “ RecursiveSearchCS.Form1”類型已經包含“組件”的定義

    • 這是否意味着我應該從Form1.cs文件中刪除它?
  2. 類型“ RecursiveSearchCS.Form1”已經定義了具有相同參數類型的名為“ Dispose”的成員。

  3. 類型“ RecursiveSearchCS.Form1”已經定義了具有相同參數類型的名為“ InitializeComponent”的成員。

(我注意到,當我注釋掉InitializeComponent行和/或Dispose行時,更多錯誤消息填充在ERRORS中)

通過它們,您可以找到原始代碼@ MicrosoftSite

任何幫助將不勝感激。

謝謝

只是直覺,如果您遵循並復制粘貼,請記住一件事:

當您創建表單時,設計器將創建兩個文件:“代碼”文件和“設計器”文件。 但是,當Microsoft(和其他公司)發布“模板”時,他們喜歡合並這兩個文件。

只需創建一個新的.cs文件並粘貼代碼即可,一切都應該很好。 基本上是這樣的代碼:“在設計器中,我們已經有了這些東西”。 (注意這的一個好方法是在Form1聲明之前使用“ partial”關鍵字)


更多信息:

代碼文件將包含您自己的所有實現。 即單擊事件,您個人重寫的方法,綁定到的事件等。這是從解決方案資源管理器或對話框本身選擇“查看代碼”時的默認文件。 在此文件中,有一個調用“ hidden”方法的構造( InitializeComponent ),如果右鍵單擊並單擊“轉到定義”,會將您帶到下一個文件:

設計器文件是IDE的生成文件。 這樣就可以將您在設計器中所做的所有工作都存儲起來。 其中包括新控件,控件的位置和屬性以及IDisposable實現。 這樣做的目的是在您只擔心實現問題的同時,避免“麻煩”。

是的,聽起來您已經復制了整個代碼,其中包括部分類中Form中已經包含的許多內容。 從您的窗體中刪除這些或刪除部分類和部分類聲明以擺脫這些錯誤

我去了微軟的網站,看看你做了什么。 該站點顯示了整個“一個文件”解決方案的代碼。 我們都同意Visual Studio創建多文件解決方案,因此您在復制代碼。

我不知道當前的答案/評論是否可以幫助您使此示例代碼正常工作,所以我想我應該添加自己的份額。 通過執行以下操作,我能夠使此示例工作:

首先,Microsoft網站上的示例代碼顯示了按鈕,文本框,標簽和組合框的聲明,而不是嘗試復制該部分,我只是使用工具箱並從中拖動按鈕,標簽,文本框和組合框。我的表單的工具箱。

您可能需要根據自己的喜好安排這些。

此過程正確創建了帶有適當對象的表單。 我要做的就是對每個對象使用屬性窗口,並根據示例中的名稱對其進行重命名。 例如,我的新按鈕最初是button1 ,但我將其重命名為btnSearch,就像在Microsoft示例中一樣。

我注意到Microsoft示例為Form1_load()事件建立了事件處理程序設置。 通過在設計器中單擊表單,單擊屬性,單擊該屬性中的“事件”按鈕,然后雙擊“加載”事件,在表單中創建了同一事件。 這會自動生成適當的代碼。

以類似的方式,我必須創建btnSearch_Click()事件。 我只是通過雙擊設計器中的按鈕來完成此操作。

之后,我要做的就是手動將樣本的特定部分復制並粘貼到我的代碼中,並使用樣本中的內容填充Form1_Load()事件。 復制DirSearch()方法。 填寫btnSearch_Click()事件。 就是這樣。

我希望這有助於解決整體問題,並讓您對將來如何避免這些問題有更多的了解。

您在類中具有重復的功能,您已經使用該功能自動生成了一個文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM