2012-10-04 39 views
2

我創建了一個訪問另一個程序中的標籤的應用程序表單。我使用了dll來訪問標籤IOM.InTouchDataAccess。我運行該程序,它工作,直到我寫一個標籤並按下select。錯誤:無法加載文件或程序集'IOM.InTouchDataAccess,版本= 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依賴項之一。該系統找不到指定的文件。我仍然是一個新手程序員。 程序Program.cs中在 Application.Run(new InTouchTagBrowser());由於缺乏權限,引用不可訪問?

表單代碼

public partial class InTouchTagBrowser : Form 
    { 
     public string tagName; 

     public InTouchTagBrowser() 
     { 
      InitializeComponent(); 
     } 

     private void TagBrowser_Load(object sender, EventArgs e) 
     { 
     } 

     private void SelectButton_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       tagName = tagNameBox.Text; 
       InTouchDdeWrapper inTouchWrapper = new InTouchDdeWrapper(); 
       string value = inTouchWrapper.Read(tagName); 

       TagDotField tagDotField = new TagDotField(tagName); 
       string description = inTouchWrapper.Read(tagDotField.Description); 
       string engUnits = inTouchWrapper.Read(tagDotField.EngUnits); 

       descriptionlbl.Text = description; 
       englbl.Text = engUnits; 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
     } 

     private void WriteButton_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       if (tagName != "") 
       { 
        MessageBox.Show("Please enter a tag!"); 
       } 
       else 
       { 
        string inputValue = ValueBox.Text; 
        InTouchDdeWrapper inTouchWrapperWriter = new InTouchDdeWrapper(); 

        TagDotField tagWriter = new TagDotField(inputValue); 
        inTouchWrapperWriter.Write(tagName, inputValue); 
       } 
      } 

      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
      finally 
      { 
       MessageBox.Show("Tag change successfull"); 
      } 
     } 
+0

有時可以是dll的版本。你可以檢查IOM.InTouchDataAccess版本是否爲1.0.0.0? (轉到文件在資源管理器中,看到屬性) –

+1

在聽起來像你正在嘗試使用的DLL需要另一個DLL或文件才能工作。你應該問誰曾經設計過它(如果它是內部製作的)需要包含在你想要使用的dll中的dll。 –

+1

請檢查http://stackoverflow.com/questions/9503429/filenotfoundexception-when-loading-dll –

回答

1

你是不是給很多信息停止。這裏是我應該嘗試的事情列表,如果我是你:

  1. 檢查文件是否在硬盤上。 (Check \ debug文件夾)
  2. 如果該文件存在,請仔細檢查其版本是否爲1.0.0.0
  3. 檢查CopyLocal是否爲true。
  4. 檢查該dll IOM.InTouchDataAccess不需要其他dll。如果它是你安裝的庫的一部分,確保所有的DLL都在那裏。如果不確定,用戶.NET Reflector檢查它的依賴關係。
+0

所有前3個,他們都沒問題。我檢查第四個知道。我不知道我沒有提供足夠的信息。對不起,我還是個初學者。 –

+1

你說得對。我錯過了一個dll!謝謝 ! –