2014-05-17 4 views
0

다른 문제가 있습니다. 나는이 솔루션에서 "solution1"솔루션은 "projectA", "projectB", "projectC"의 3 개 프로젝트입니다. projectB에서 projectB & projectC에 대한 참조를 만들었습니다. 내 프로젝트 A를 이미 포함하고있는 솔루션 폴더에 2 개의 다른 프로젝트를 추가했습니다. 솔루션 탐색기에 추가했는데 내가 말했던 것처럼 참조를 만들었습니다. 내가 PROJECTA에서 폼에 버튼을 클릭하면다른 프로젝트를 참조 할 때 텍스트 파일을 찾을 수 없습니다.

지금 :

private void formProjectAButton_Click(object sender, EventArgs e) 
    { 
     this.Hide(); 
     projectB.Form1 fs = new projectB.Form1();   
     fs.Show(); 
    } 

projectB의 형태는 문제를 보여줍니다. 그런 다음 그림 상자와 텍스트 상자가 포함 된 projectB의 양식을 사용할 때 그림 상자는 내 bin/debug 폴더에있는 정적 이미지를 포함하며 그림 상자를 클릭하면로드되는 텍스트가 텍스트 상자에 포함됩니다.

내가 텍스트 상자에 (projectB debug 폴더에있는)이 TEXTFILE에서 텍스트를로드 할 수있는 PictureBox를 클릭하면
private void picturebox1_Click(object sender, EventArgs e) 
    { 
     textBox1.Text = ""; 



      inputStream = File.OpenText("gebod1.txt"); 
      string line = inputStream.ReadLine(); 
      while (line != null) 
      { 
       textBox1.AppendText(line); 
       line = inputStream.ReadLine(); 
      } 



     textBox1.Visible = true; 
    } 

그러나 지금 나는 filenotfoundexeption를 얻을.

이 문제를 해결하기 위해 내가 할 수있는 일은 무엇이 있습니까?

미리 감사드립니다.

답변

1

상대 경로를 사용 중입니다. 상대 경로는 현재 작업 폴더입니다.

C : \ Foo \ ProjectA에 프로젝트 A가 있고 C : \ Foo \ ProjectB에 프로젝트 B가있는 경우 프로젝트 A의 텍스트 파일은 C : \ Foo \ ProjectA \ bin \ Debug \ foo에 있습니다. .txt. 작업 폴더를 기준으로 올바른 폴더로 이동하거나 전체 경로를 지정해야합니다.

예를 들어 다음과 같이 시도해 볼 수 있습니다. 분명히, 이것은 단지 당신이 당신이 한 일을 어떻게 성취하는지에 대한 아이디어를주는 예일뿐입니다. File.OpenText("..\..\..\ProjectA\bin\Debug\gebod1.txt");

여기에서 ..은 "트리에서 하나의 폴더를 의미합니다"를 의미합니다. 따라서 C : \ Foo \ Bar에있는 경우 상대 경로 ..\Baz은 C : \ Foo \ Baz \

을 의미합니다. 또 다른 옵션으로 ProjectA에 빌드 후 단계를 추가하여 파일을 알려진 폴더를 찾은 다음 해당 위치에서 파일을 참조하십시오.

+0

도움 주셔서 감사합니다. 하지만 거기에 방법이 없어 그래서 projectA의 form1에있는 버튼을 클릭하면 projectA가 닫히고 projectB가 열립니다. 그리고 나서 projectB의 폼에있는 버튼을 클릭하면 (예 : "projectA form1로 돌아 가기"와 같이) projectB가 닫히고 (숨김이 아니라 실제로 닫히는) projectA가 열립니다. 그러면 경로가 엉망이 될 필요가 없습니다. 같은 프로그램이 전체 프로젝트 B를 시작한다는 것을 의미합니다. – user3644837