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。
我认为复制到输出目录是决定构建时间的东西。我需要的是将ClickOnce setup.exe配置为仅在不存在时才安装.sdf ...软件更新不得覆盖它。可能吗?怎么样? – haba713
鉴于“复制文件,如果它不存在”不是一个选项,你最好的选择是将其设置为“总是复制”到设备上的临时位置或文件名,然后让你的C#代码来测试if .sdf文件已存在,如果不存在,请将.sdf文件复制到适当的位置。我不知道,我知道。 –
好的!连接字符串是'Data Source = | DataDirectory | \ MyDb.sdf'。因此,我将项目文件'MyDb.sbf'重命名为'MyDbEmpty.sdf',并在'Progam.Main()'的开始处检查'ApplicationDeployment.CurrentDeployment.DataDirectory'中是否存在'MyDb.sdf'文件,并且如果* not *,则将'MyDbEmpty.sdf'复制到'MyDb.sdf'。在VS调试运行中访问'ApplicationDeployment.CurrentDeployment.DataDirectory'会引发异常并且必须处理它。 Mike Gledhill,感谢您的帮助! – haba713