2011-01-07 4 views
6

저는 Visual Studio를 처음 사용하고 다른 프로그램을 옮겨서 거기에서 실행할 수 있도록 내 프로그램을 '게시'하는 방법을 알아 내려고하고 있습니다. 차이가 있는지 확실하지 않지만 솔루션에는 세 가지 프로젝트가 있습니다. 그리고 내가 그것을 발표한다면, 나는 여전히 원본 파일 등을 개발할 수있을 것인가?Visual Studio에서 프로그램 게시

고맙습니다.

답변

10

좋아, 그래서 당신은 당신의 코드를 작성했습니다, 그것을 디버깅하고 지금은

각 프로젝트의 컴파일 된 출력 폴더에 생성되는 비주얼 스튜디오를 사용하여 솔루션을 빌드 할 때 ... 그것을 배포 할 은 수동으로 지정되거나 기본적으로 프로젝트 루트 폴더에 상대적인 bin 폴더에 지정됩니다. 이 폴더에는 해당 빌드에 대한 출력을 보유하는 하위 폴더가 있습니다 (예 : Debug 폴더에는 Debug 컴파일 출력이 있음).

예를 들어 하나가 실행 가능한 응용 프로그램이고 다른 두 개는 응용 프로그램 프로젝트가 종속 된 동적 링크 라이브러리라고 가정하면, 두 프로젝트의 컴파일 된 출력은 다음과 같이 자동으로 복사됩니다. 응용 프로그램은 출력 폴더를 컴파일합니다. 즉, 실제로이 폴더에있는 내용 만 제공하면됩니다 (실제로 필요한 다른 항목과 함께).

SolutionFolder\ 
    ApplicationProjectFolder\ 
     Bin\     <- contains overall output 
      Debug\   <- the compilation you develop with 
      Release\   <- the compilation you distribute (after testing) 
    DynamicLinkLibrary0Folder\ 
     Bin\ 
      Debug\   <- automatically copied to 'ApplicationProjectFolder\Bin\Debug' 
      Release\   <- automatically copied to 'ApplicationProjectFolder\Bin\Release' 
    DynamicLinkLibrary1Folder\ 
     \Bin 
      Debug\   <- as above 
      Release\   <- as above 

당신은 물론, 그래, 배포 후 코드 작업을 계속할 수 있습니다,하지만 당신은 거의 기대할 수 : 시도하고 시각화하는 (거친) 폴더 그래프

무슨 말인지 응용 프로그램 사용자는 모든 것을 재배포하거나 업데이트/패치 등을하지 않고 최신 변경 사항을 적용 할 수 있습니다.

물론이 솔루션은 가장 간단한 형태입니다. 설치자 프로젝트를 최종 배포 가능한 최종 제품인 솔루션의 일부로 사용하는 것이 이상적입니다.

위에서 말했듯이 유능하고 자신있게 진행하려면 이보다 더 많은 것을 알아야 할 수도 있습니다. 여기에 언급 된 각 측면에 대한 자세한 내용을 설명 할 수는 있지만 의심의 여지가 없습니다. 어딘가에. 희망이 당신을 시작할 수 있습니다.

+0

매우 잘 설명 된 ... 추가는 "DEBUG"버전과 "RELEASE"버전 사이를 스와핑하는 것뿐입니다. – DRapp

+1

대단히 고마워요! 응용 프로그램은 한 명의 다른 사용자 만 사용할 수 있으므로 업데이트 등을 염려하지 않습니다. 간단한 "한 파일 설치"프로세스를 원했습니다. 설치 프로그램을 쉽게 설치할 수 있습니까? – keynesiancross

2

@Mr. 실망 스럽다면 솔루션에 설치 프로젝트를 추가하여 컴파일 된 결과를 얻고 프로그램에 대한 설치 프로그램 (.msi 파일)을 빌드 할 수 있습니다. 그런 다음 사용자에게 .msi 파일을 제공 할 수 있으며 설치 프로그램을 실행하여 컴퓨터에 응용 프로그램을 설치할 수 있습니다. .msi 파일을 네트워크 공유에 배치하거나 요구 사항에 따라 웹 사이트에서 다운로드 할 수도 있습니다.

또 다른 옵션은 웹 사이트 또는 네트워크 파일 공유를 통해 Visual Studio의 ClickOnce 배포를 조사하여 사용자에게 간단한 방법으로 응용 프로그램을 배포 할 수있게하는 것입니다.

관련 문제