2012-10-04 4 views
2

다른 프로그램의 태그에 액세스하는 애플리케이션 양식을 만들었습니다. 나는 dll을 사용하여 IOM.InTouchDataAccess 태그에 액세스했습니다. 프로그램을 실행합니다. 태그를 작성하고 select를 누르기 전까지 작동합니다. 오류 : 파일 또는 어셈블리 'IOM.InTouchDataAccess, 버전 = 1.0.0.0, Culture = neutral, PublicKeyToken = null'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다. 저는 아직 초보 프로그래머입니다. 이 프로그램은 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

당신이 많은 정보를 제공하지 않습니다에서 Program.cs에서 멈 춥니 다. 다음은 내가 당신 인 경우 시도해야 할 사항 목록입니다.

  1. 파일이 하드 디스크에 있는지 확인하십시오. (Check \ debug 폴더)
  2. 파일이있는 경우 해당 버전이 1.0.0.0인지 확인하십시오.
  3. CopyLocal이 true인지 확인하십시오.
  4. IOM.InTouchDataAccess 다른 DLL이 필요하지 않은지 확인하십시오. 설치하는 라이브러리의 일부인 경우 모든 dll 파일이 있는지 확인하십시오. 확실하지 않은 경우 .NET Reflector를 사용하여 종속성을 검사합니다.
+0

처음 3 개가 모두 성공 했습니까? 불확실한 넷째를 확인하십시오. 나는 내가 충분한 정보를 제공하지 못했다는 것을 몰랐다. 미안하지만 아직 초보자. –

+1

당신이 옳았습니다. 나는 dll을 놓쳤다! 감사 ! –

관련 문제