2012-08-08 81 views
2

我对使用SQLite一个vb.net应用程序的工作,并且因为它是针对.NET Framework的版本2编译,我加入这行到我的配置文件摆脱App.exe.config

<startup useLegacyV2RuntimeActivationPolicy="true"> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
</startup> 

我的应用程序的最终目标是使其成为一个独立的,所以不是一个单独的文件,除了EXE(以及应用程序将生成一个文件的数据库,但我的观点是我想用户只下载1个单一文件)。

而且我注意到,当我建立它的配置文件总是被复制,如果我不运行的配置文件的应用程序,我会得到未捕获异常的“遗产”的错误..

有什么在运行时包含该配置的方式?或者可能捕获某种类型的异常,以防止该对话框出现并吓倒用户(我知道这可能不是最好的方法)

我已经搜索并发现了其他类似的问题,但没有发现我遇到的问题到为我工作的解决方案,所以我会感谢您的帮助。

回答

2

虽然它是possible to set the legacy runtime policy at runtime,我会建议部署为安装程序。

以及应用程序会生成数据库文件,但我的观点是我希望用户只下载1单个文件

他们可以下载你的安装程序,这可能需要设立的护理一切正确。无论如何,这可能是必需的,因为SQLite将需要它自己的DLL以及您的.exe文件在部署中。

+0

安装程序的缺点是用户必须具有管理员权限,并且能够提升超过UAC提示以运行安装。任何人都可以运行独立程序。 – 2012-08-08 15:54:59

+0

@JoelCoehoorn,这正是我关心的:) – 2012-08-08 15:55:23

+0

@JoelCoehoorn如果您使用ClickOnce或类似的安装到用户文件夹的方式,则不行。 – 2012-08-08 15:55:30