프로그램 바이너리를 데이터에서 분리하는 것은 일반적인 개념입니다.
예를 들어 모든 Windows 앱은 Program files
에 있지만 사용자 데이터의 경우 사용자 %APPDATA%
또는 공유 데이터의 경우 %ProgramData%
으로 데이터를 작성합니다. 프로그램에 매우 특정한 요구 사항이없는 한, 은이어야합니다.
데이터의 종류에 따라, 특히 사용자가 신속하게 데이터를 찾을 수 있도록하려는 경우 사용자의 문서 폴더 아래에 하위 폴더를 만들 수도 있습니다.
C#을 사용하면이 특수 폴더을 사용하여 Environment.GetFolderPath Method을 쉽게 찾을 수 있습니다. 예를 들면 :
public string GetDataFolder()
{
var appDataPath = Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData, // Search under %APPDATA%
Environment.SpecialFolderOption.Create // Create the folder if it does not exists
);
var dataFolder = Path.Combine(
appDataPath,
"MyApplication"
);
return dataFolder;
}
당신이 Environment.SpecialFolderOption Enumeration 보면, 당신은 일반적인 장소의 대부분은 쉽게 찾을 수 있습니다 것을 볼 수 있습니다.
입니다 응용 프로그램 별 데이터의 공용 리포지토리로 사용되는 디렉토리 :
당신은 특별히 Environment.SpecialFolder.CommonApplicationData
를 사용하여 발견 %ProgramData%
을 대상으로한다, 데이터는 모든 사용자가 공유됩니다 언급 한 바와 같이 모든 사용자가 사용합니다.
궁극적으로이 폴더는 (기본 설정으로) C:\Programdata\MyApplication
으로 확인됩니다.
오류 로그 파일을 사용자별로 지정할 수 있습니까? 다른 사용자가 동일한 컴퓨터에서 앱을 실행하면 다른 로그가 생깁니 까? 아니면 오히려 가질 수 있습니까? 이 경우 사용자의 앱 데이터 폴더에이 로그를 만들 수 있으며 모든 사용자는 자신의 AppData 폴더에 대한 권한을가집니다. – ryadavilli
프로그램 바이너리를 데이터에서 분리하는 것은 일반적인 개념입니다 (나는 심지어 최선의 방법 *이라고 말합니다). 예를 들어, 모든 Windows 응용 프로그램은'Program files' 아래에 위치하지만, 사용자 데이터의 경우에는 사용자의 '% APPDATA %'또는 공유 데이터의 경우에는 % ProgramData %로 데이터를 씁니다. 이 지침을 따라야합니다. 당신이 다른 생각을하게하는 무언가가 있다면, 자세히 설명해주십시오. –
@SteveB 당신의 명령을 대답으로하면 응답 –