2016-11-15 4 views
0

내 C# 콘솔 응용 프로그램에 MS SQL Server Compact 데이터베이스 (.sdf 파일)가 포함되어 있습니다. 새 버전의 응용 프로그램이 설치되면이 파일은 이 아니고이 덮어 써야합니다.ClickOnce 및 SQL Server Compact 데이터베이스

.sdf → 파일 속성 → 빌드 동작 : 어떤 값을 선택해야합니까? 옵션은 None, Compile, Content, Embedded Resource, EntityDeploy, ApplicationDefinition, Page, Resource, SplashScreen, DesignData, DesignDataWithDesignTimeCreatableData 및 XamlAppDef입니다.

답변

0

빌드 작업은 "없음"이어야하지만 더 중요한 것은 "출력 디렉터리에 복사"입니다. 이것은 "더 새로운 경우 복사"여야합니다.

+0

출력 디렉터리로 복사하는 것은 빌드시에 결정되는 것으로 생각합니다. 필요한 것은 ClickOnce setup.exe를 설치하여 .sdf가없는 경우에만 설치하는 것입니다. 소프트웨어 업데이트가이를 덮어 쓰지 않아야합니다. 가능한가? 방법? – haba713

+1

"현재 파일이없는 경우 파일 복사"옵션이 아닌 경우 가장 좋은 방법은 "항상 복사"를 장치의 임시 위치 또는 파일 이름으로 설정 한 다음 C# 코드를 테스트하여 .sdf 파일이 이미 존재하고 그렇지 않은 경우 .sdf 파일을 적절한 위치에 복사하십시오. 귀엽지 않아. 알아. –

+0

연결 문자열은'Data Source = | DataDirectory | \ MyDb.sdf'입니다. 그래서 프로젝트 파일'MyDb.sbf'의 이름을 MyDbEmpty.sdf로 변경하고 Progam.Main()의 시작 부분에서'MyDb.sdf' 파일이'ApplicationDeployment.CurrentDeployment.DataDirectory'에 있는지 확인하고 * not * 인 경우,'MyDbEmpty.sdf'를'MyDb.sdf'에 카피합니다. VS 디버그 실행에서'ApplicationDeployment.CurrentDeployment.DataDirectory'에 접근하면 예외가 발생하고 처리되어야합니다. Mike Gledhill, 도와 줘서 고마워! – haba713