2011-08-22 2 views
0

C# 지식 부족에 대해 저를 용서해주십시오!최종 생산 프로그램에서 리소스/참조 파일에 액세스 하시겠습니까?

응용 프로그램의 설치 위치/하드 드라이브의 존재 여부를 모르는 경우 런타임에 필요한 파일에 어떻게 액세스합니까? 또한 -이 파일을 내 애플리케이션 (예 : C : \ Program Files \ MyApp \ resouces \ file.ext에 있음)과 함께 배포하려면 어떻게해야합니까?

배경 :

내가 스프레드 시트 기어와 .NET 3.5에서 C#을 사용하고 있습니다. 내 프로그램은 데이터베이스의 내용을 기반으로 일련의 Excel 파일을 작성합니다. 요구 사항 중 하나는 페이지 설정의 머리글에 이미지 또는 여러 색상/서식이있는 텍스트가 있어야한다는 것입니다. 두 가지 방법을 광범위하게 살펴본 결과 프로그래밍 방식으로이 작업을 수행 할 수있는 해결책이 없습니다. 내 추락은 이미 헤더에 로고가있는 미리 만들어진 Excel 파일을 여는 것입니다 (Excel에서이 작업을 수행 할 수 있음). Excel 파일에 데이터를 저장하고 사용자가 지정한 위치에 새 이름으로 저장합니다.

자원을 조사하거나 사전 설정된 템플릿 Excel 파일을 열어야합니까?

도움 주셔서 감사합니다.

C:\Program Files\MyApp\resouces\file.ext 

가지고 :

답변

0

응용 프로그램 사용자에게 올바른 권한이있는 경우 Registry 개체를 사용하여 레지스트리를 쿼리합니다. 나는 당신의 질문을 오해했을 것입니다 - 나는 당신이 응용 프로그램의 경로를 찾는 방법을 요구하고 있다고 생각합니까?

+0

글쎄, 나는 프로그램과 파일이 많은 사용자들에게 배포되었다는 것을 감안할 때 필자의 프로그램이 요구하는 파일을 찾는 방법을 찾고있다. –

+0

그래서 나는 사과를 오해했다. 프로젝트에서 다음을 수행 할 수 있습니다. (1) .Net 프로젝트 (2)에 포함 할 파일을 솔루션 창에 추가하고 추가 된 파일을 마우스 오른쪽 단추로 클릭 한 다음 속성을 선택합니다 (3) "출력 디렉토리로 복사"옵션을 적절하게 선택하십시오. 이렇게하면 파일이 항상 실행 파일과 동일한 폴더에 존재하게됩니다. – Arun

+0

지금은 파일이'bin \ Debug \ resources \ file.xls'에 있습니다 - 그리고 나는'string file = @ "resources \ file.xls"'를 통해 파일에 접근합니다. 솔루션에 추가 할 때 내 솔루션과 동일한 수준의 리소스라는 새 디렉터리를 만들어야합니까? –

0

중요한 것은 즉 대신, 파일 상대의 이름을 확인하는 것입니다

resouces\file.ext 

다음 파일의 상대를 열려고 작은 기능을 가지고 런타임에 얻을 수있는 실행 가능 경로로 이동하십시오. 실행 파일 경로와 다를 수 있으므로 현재 폴더를 기준으로 열지 마십시오.

+0

내 프로그램을 다른 사용자에게 배포 할 때 resources \ file.ext가 설치되어 있는지 확인하려면 어떻게해야합니까? 또한 Visual Studio 내에서 실행할 때 파일 시스템의 \ resources \는 어디에 있습니까? 디버그 폴더 아래에? –

+0

Wix (http://wix.sourceforge.net/)와 같이 설치 중에 파일을 저장할 위치를 지정할 수있는 설치 프로그램을 사용합니다. 디버거에서 실행에 관해서는, 내가 언급 한 그 작은 함수는 DEBUG가 정의 된 다음 ".. \ .. \"와 같은 접두사를 사용하면 다른 곳을 볼 수 있습니다. – Skizz

+0

Visual Studio에 설치 프로그램이 내장되어 있지 않습니까? –

관련 문제