【问题标题】:Getting rid of App.exe.config摆脱 App.exe.config
【发布时间】:2012-08-05 18:58:30
【问题描述】:

我正在开发一个使用 SQLite 的 vb.net 应用程序,因为它是针对 .net 框架的第 2 版编译的,所以我将这一行添加到我的配置文件中

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

我对该应用程序的最终目标是使其成为独立的,因此除了 exe 之外没有单个文件(该应用程序将为数据库生成一个文件,但我的意思是我希望用户只下载 1 个单个文件)。

我注意到,当我构建它时,配置文件总是被复制,如果我在没有配置文件的情况下运行应用程序,我会得到未捕获的异常“遗留”错误..

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

我在 SO 上搜索并发现了其他类似的问题,但我发现的问题都没有找到适合我的解决方案,因此我将感谢您的帮助。

【问题讨论】:

    标签: vb.net sqlite app-config


    【解决方案1】:

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

    应用程序将为数据库生成一个文件,但我的意思是我希望用户只下载 1 个单个文件

    他们可以下载您的安装程序,它可以负责正确设置所有内容。在任何情况下都可能需要这样做,因为 SQLite 需要它自己的 DLL 以及您的 .exe 才能在部署中出现。

    【讨论】:

    • 安装程序的缺点是用户必须具有管理员权限,并且能够通过 UAC 提示运行安装。任何人都可以运行独立程序。
    • @JoelCoehoorn 这正是我所关心的 :)
    • @JoelCoehoorn 如果您使用 ClickOnce 或类似工具,则不会,它会安装到用户的文件夹中。
    • @DanyKhalife 如果您在系统范围内安装,您只需要安装程序具有管理员权限。
    • @Dany 在本例中为 ClickOnce。
    猜你喜欢
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2017-02-03
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多