2011-09-27 2 views
2

다른 하나의 실행 파일을 호출하려고합니다. 각 실행 파일은 자체 프로젝트로 컴파일되며 두 프로젝트는 동일한 솔루션에 있습니다. this 질문을 찾았지만 실행 파일의 경로 만 나타냅니다. 실행 파일의 이름을 프로그래밍 방식으로 검색하는 방법을 찾고 있습니다. 나는 'Project 1'에 'Project 2'를 이미 포함 시켰으므로 'Project 1'을 실행하면 'Project 2'의 실행 파일이 거기에있게되므로 위치가 문제가되지 않습니다. 실행 파일의 이름 만 있습니다. 아무도/어떻게이 일을 할 수 있는지 아십니까?솔루션의 다른 프로젝트에서 실행 파일의 이름을 가져 오는 방법은 무엇입니까?

감사합니다.

답변

2

런타임에는 더 이상 솔루션과 프로젝트, Visual Studio 등의 개념이 없습니다. 런타임에는 파일 시스템, 파일, 폴더, 실행 파일이 있습니다. 예를 들어, c:\bar\bin\Debug\bar.txt에서 파일을 읽으려는 c:\foo\bin\Debug\foo.exe에있는 실행 파일이있는 경우이 파일의 절대 경로를 지정해야합니다. Visual Studio 프로젝트와 관련하여 생각하지 마십시오. 실행 파일을 대상 컴퓨터로 보내면 실행 파일이 어떻게 구성되는지 생각해보십시오. (..\..\..\bar\bin\Debug\bar.txt를)

  • 파일 (c:\bar\bin\Debug\bar.txt)
  • 사용 (실행 파일의 현재 경로와 관련) 상대 경로의 파일을 참조하기 위해 참조하는 절대 경로를 사용하여 당신은 기본적으로 2 가능성이
0

약간의 추가 참조로 프로젝트는 대개 해당 프로젝트의 bin \ Debug 폴더에있는 실행 파일 (.exe) 또는 어셈블리 (* .dll)를 생성합니다. 이름은 프로젝트 속성의 응용 프로그램 탭 아래에있는 어셈블리 이름 (VS2010 이상)에서 가져옵니다. 직접 시작할 수없는 프로젝트는 * .dll 파일, 콘솔 또는 winforms 응용 프로그램에서 * .exe를 생성해야합니다.

프로그램 어셈블리 이름을 찾기 위해,이 도움이 될 수 있습니다 이 System.Reflection.AssemblyName.Name property

이것은 또한 도움이 될 수있다 : How to get the assembly (System.Reflection.Assembly) for a given type in .Net

관련 문제