2010-07-07 4 views
5

코딩 과정에서 bin \ Debug 폴더에 일부 파일, 사운드 파일 (.wav 및 .mp3) 및 텍스트 파일 (.rtf)이 있지만 게시 후에는 찾을 수 없습니다.Clickonce 응용 프로그램으로 파일을 배포하는 방법은 무엇입니까?

내 응용 프로그램은 사운드 파일을 재생할 수 있으며이 파일은 Application.Startup 경로에 응용 프로그램과 함께 설치해야하는 기본 사운드 파일입니다.

텍스트 * .rtf 파일 응용 프로그램에 대한 도움말 서식의 RichtextBox 컨트롤에로드합니다.

나는 그들의 속성을 Content와 Copy if New로 설정했습니다.

답변

7

이 파일들을 내용물로 설정해야만 bin 폴더에 복사 할 수 있습니다. 그런 다음 프로젝트 속성 페이지를 열고 "게시"탭을 선택한 다음 "응용 프로그램 파일 ..."을 클릭하십시오. 이제는 프로젝트와 관련된 파일 목록과 게시 방법을 나타내는 값을 볼 수 있습니다. 파일이 데이터로 표시되어 bin 폴더가 아닌 ClickOnce 응용 프로그램 데이터 폴더로 전송 될 가능성이 높습니다. ClickOnce 데이터 폴더 (도우미 메서드 있음)를 사용하도록 코드를 변경하거나 "데이터 파일"이 아닌 "포함"이 선택되어 있는지 확인하십시오.

또는 클라이언트 응용 프로그램에서 파일이 변경되지 않을 것으로 예상되는 경우 파일을 리소스로 dll에 포함시킬 수 있습니다.

+0

감사합니다. @ 브론 스키. 하지만 내가 가진 다른 문제는 프로젝트를 온라인 svn 저장소로 가져온 것입니다. 그런 다음 작업 복사본을 체크 아웃했습니다. 이제 Visual Studio 솔루션 탐색기에 표시된 파일에는 파일 유형별 아이콘이 없으며 속성 창에서 "빌드 작업"및 "출력 디렉터리로 복사"속성이 표시되지 않습니다. – systemovich

+1

bin \ Debug 폴더에있는 파일의 복사본에 대해 "Content"및 "Output Directory에 복사"를 설정하고 "\ bin \ Debug"를 Application.StartupPath에 연결하여 파일을로드하는 코드로 설정해야했습니다. 감사. – systemovich

1

Visual Studio에서이 파일을 프로젝트에 추가 했습니까? 그렇다면 csproj 파일이있는 최상위 레벨에 추가하거나 그 아래에있는 폴더에 넣으십시오 (같은 상대 경로에 배치됩니다). 나는 \ bin \ debug 폴더에있는 파일들을 포함하지 않을 것이다. 당신은 쉽게 당신의 \ bin 폴더를 잠시 닦아 낼 수 있습니다. 네가 그렇게하고있는지는 잘 모르겠지만, 너처럼 들리 네.

프로젝트의 최상위 레벨에 배치하면 배치 최상위 레벨에 배치됩니다. 폴더에 넣으면 상대 경로에있게됩니다. Build Action을 "content"로 설정하면 "copy to output directory"를 "copy always"로 설정합니다.

+0

최상위 레벨에도 파일이 있지만 "Build Action"및 "Copy to Output Directory"속성은 속성 창에 표시되지 않습니다. 솔루션 탐색기에서 이러한 파일에는 파일 유형별 아이콘이 없지만 기본적으로 "dog-eared 오른쪽 상단 모서리에 흰색 테두리가있는 흰색 페이지"아이콘이 있습니다. 다음은 솔루션 탐색기에서 Alarm_Clock_Help.rtf 파일을 선택한 스크린 샷입니다. http://tinyurl.com/39lqo45 – systemovich

+0

이전에 언급 한 내용을 참조하십시오. 그 이유는 Windows 탐색기를 사용하여 파일을 복사했기 때문입니다. Visual Studio 메뉴에서 "Project> Add Existing Item ..."을 사용하여 프로젝트에 파일을 추가했습니다. 올바른 아이콘과 올바른 속성을가집니다. – systemovich

+0

아마 그렇게했다고 생각했습니다. 난 당신이 그들을 마우스 오른쪽 버튼으로 클릭하고 "프로젝트에 포함"을 선택하고 그 경우에도 프로젝트에 추가됩니다 생각합니다. 이제 파일이 성공적으로 배포됩니까? – RobinDotNet

관련 문제