저는 WPF에서 프로그램을 작성하고 있습니다. 문제는 VS 디자이너가 SQLite 데이터베이스를로드하는 동안 내 프로그램에서 실행되는 코드입니다. 파일이 존재하지 않으면 코드는 빈 데이터베이스를 작성하려고 시도합니다.디자이너가 실행하는 코드의 상대 디렉토리
이 코드는 모두 런타임 중에 완벽하게 작동합니다. 디자이너에서 데이터베이스 파일의 상대 경로는 'c : \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE'와 다릅니다. 프로그램이이 폴더에 쓸 수있는 권한이 없으므로 예외가 발생하여 디자이너를 사용할 수 없습니다.
데이터베이스에 대한 절대 경로를 사용하도록 프로그램을 변경하면 모든 것이 정상적으로 작동합니다. 디자이너는 데이터베이스를 읽고 심지어 데이터를 사용하여 인터페이스를 초기화합니다.
Visual Studio 디자이너가 상대 경로를 계속 사용할 수 있도록 코드를 평가하는 데 사용하는 작업 디렉터리를 변경해야합니까? 또는, 작업 디렉토리보다는 exe 파일의 위치를 얻는 방법도 있습니다. 내가 시도한 모든 것은 VS의 IDE 폴더를 반환합니다.
예, 프로젝트에 추가되고 출력 디렉토리로 복사하도록 설정됩니다. Data \ data.s3db에 있습니다. 솔루션을 빌드하면 파일과 폴더가 출력 디렉토리에 복사됩니다. 내 연결 문자열에 다음 데이터 원본 = 데이터 \\ data.s3db 있습니다. 존재하지 않고 지금 데이터베이스 파일을 열 수 없으면 코드를 생성하려고 시도한 코드를 주석 처리했습니다. –
@Android - 참조 경로는 항상 'Data \ data.s3db'입니까? –