2014-07-18 2 views
1

두 가지 프로젝트가 하나의 솔루션으로 제공됩니다. 내가하고 싶은 일은 하나의 프로젝트를 메인 프로젝트 (프로젝트 1)로하고 지금은 다른 프로젝트 (프로젝트 2)를 시작하는 것입니다. Project 1을 지속적으로 실행하고 매분마다 Project 2를 실행하고 실행 한 다음 닫으려고합니다.동일한 솔루션에있는 프로젝트를 어떻게 실행합니까?

 if (CurrentTime.Minute % 2 == 1 && CurrentTime.Second == 30 && CurrentTime.Millisecond < 5) 
     { 
      try 
      { 
       string ThisDir = Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName + "\\Project2\\bin\\Debug\\Project2.exe"; 
       Process.Start(ThisDir); 
      } 
      catch 
      { 

      } 
     } 

문제는 내가 릴리스에서 실행하려면이 작동하지 않는다는 것입니다 : 여기

내가 지금까지 시도한 것입니다.

또 다른 참고 사항은이 항상 실행하고 싶지 않기 때문에 솔루션 속성에서 시작 프로젝트로 설정하고 싶지 않습니다. 동일한 솔루션에있는 다른 프로젝트를 시작하는 더 좋은 방법이 있습니까?

답변

1

같은 뭔가 Properties입니다. 일반적으로 디버그 설정은 ..\Output\Debug\, 릴리스 구성은 ..\Output\Release\으로 설정합니다. 이렇게하면 두 프로젝트가 동일한 출력 디렉토리에 저장되며 적절한 Debug/Release 디렉토리에있게됩니다.

이렇게하면 로컬 디렉터리 컨텍스트에서 다른 .exe를 참조 할 수 있습니다.

편집이 : 두 프로젝트에 대해이 작업을 수행하고 출력 폴더가 $ (SOLUTION_DIR)입니다 \ 출력 \ 디버그 \ 그런

, 당신은 단순히 전화를해야 :

Process.Start("Project2.exe"); 
1

나는 내 머리 꼭대기에서 이렇게하는 "예쁜"방법을 생각할 수 없다. 신속하고 더러운 솔루션을 원한다면 전처리 지시문을 사용하여 경로를 결정할 수 있다고 생각합니다. >Build Tab - ->Output path 우리가 과거에했던 어떤

#if DEBUG 
    string ThisDir = Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName + "\\Project2\\bin\\Debug\\Project2.exe"; 
#else 
    string ThisDir = Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName + "\\Project2\\bin\\Release\\Project2.exe"; 
#endif 
0

내가 돈 ' 왜 당신이 그것을 원하는지 이해하지 못합니다. 하지만 최근에 배운 점은 동시에 여러 프로젝트를 시작할 수 있다는 것입니다.

F5 키를 누르면 시작 프로젝트가 시작됩니다.

보조 프로젝트를 마우스 오른쪽 단추로 클릭하고 디버그 -> 새 인스턴스 시작을 선택하십시오. 또한 시작 프로젝트와 함께 실행됩니다.

관련 문제