2013-07-08 5 views
1

Visual Studio 2012를 사용하여 C#에서 응용 프로그램을 개발하고 있습니다. 응용 프로그램에서 만든 일부 파일을 저장하는 응용 프로그램 폴더가 있어야하며이 폴더가 비어 있는지 확인해야합니다 아닙니다. 예를 들어, 내 응용 프로그램에 속성을 설명하는 xml 파일을 저장하는 "속성"폴더가 있어야합니다. 시작시 응용 프로그램은이 폴더를 검사하여 파일이 있는지 여부를 확인하고, 그렇다면 뭔가를 수행해야합니다 ... Visual Studio에서 디버그 모드로 응용 프로그램을 디버깅 할 때이 검사를 수행 할 수 있습니다. 폴더에 대해,하지만 그것을 만드는 방법을 모르겠다 ... Visual Studio의 설치 및 배포 프로젝트에서 일부 컴퓨터에 설치 될 때 응용 프로그램이 생성하는 일부 폴더를 정의 할 수 있지만 어떻게 할 수 있습니까? 설치 프로젝트가 없어도 일부 테스트를 수행하지만 응용 프로그램은 디버깅 만합니까? 때문에 서로 다른 운영 체제에 대한 당신의 도움visual studio 2012 C# : 응용 프로그램 폴더

당신은 Environment.SpecialFolder 열거

이 폴더는 실제 경로의 차이를 제거하기 위해이 열거에 의해 식별됩니다에 의해 지정된 사전 정의 된 폴더 중 하나를 사용한다

+0

'System.IO.Directory.CreateDirectory'와'System.IO.Directory.Exists'는 당신의 친구입니다. 프로그램이 충분한 액세스 권한을 갖지 못하는 프로그램 폴더 (exe가 설치된 위치)에서이 작업을 수행하지 않으려면 폴더를 만드는 데 설치 루틴이 필요하지 않습니다. –

답변

3

에 대한

감사합니다. 그리고이 코드

string comAppData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)); 
string myAppFolder = Path.Combine(comAppData, "MyAppDataFolder"); 
if (!Directory.Exists(myAppFolder) 
    Directory.CreateDirectory(myAppFolder); 

// Now you can write to this application folder 

string myPropertyFile = Path.Combine(myAppFolder, "myAppProperty.properties"); 
using(StreamWriter sw = new StreamWriter(myPropertyFile)) 
{ 
    // your code to write data.... 
} 

이 예제 결국 검사 (Windows7의 실행)과를 통해 응용 프로그램에 대한 특정 폴더를 생성하는 방법을 보여주는 샘플 C:\programdata 폴더에 MyAppDataFolder라는 디렉토리를 만듭니다이다.

+0

스티브에게 감사하지만 문제가 있습니다. 처음 코드를 실행하면 createDirectory()가 실행되지만 디렉토리는 파일 시스템에 존재하지 않습니다 ... 두 번째로 코드를 실행하면 디렉토리가 있지만 파일 시스템에는 표시되지 않습니다 ... 실행합니다. 폴더 생성을위한 코드 만하고 propertyfile에 대한 부분을 주석 처리했습니다. – FrancescoDS

+0

C : \ programdata는 숨겨진 디렉토리입니다. 숨겨진 폴더의 시각화를 활성화하려면 http://www.howtogeek.com/howto/windows-vista/show-hidden-files-and-folders-in-windows-vista/를 참조하십시오. – Steve