【发布时间】:2016-08-30 13:15:46
【问题描述】:
我有一个使用 Visual Studio Community 2015 在 64 位计算机上的 Windows 8.1 上开发的小型 C# WinForms 应用程序,目标是 .Net Framework 4.5.2 和任何 CPU |首选 32 位。 (我也尝试只针对 x86)。
我使用 NuGet 包管理器安装了 Entity Framework 6.3.1 和 System.Data.SQLite 1.0.101(安装了 System.Data.SQLite、System.Data.SQLite.Core、System.Data.SQLite.EF6 和System.Data.SQLite.Linq),尽管 System.Data.SQLite.Core 没有显示在项目引用中。
应用在 VS 调试器中运行良好,但 ClickOnce 发布的版本在同一台计算机上安装和运行时触发无法加载 SQLite.Interop.dll 异常。
我在解决方案资源管理器中没有看到对 SQLite.Interop.dll 的任何引用。项目的 x86 和 x64 Debug 文件夹中都有这样的 dll,但在为空的 Release 文件夹中没有。当我尝试添加对 x86 或 x64 dll 的引用时,我收到一条错误消息,指出无法添加它们(即无法访问或不是有效的程序集或 COM 组件)。项目引用中的所有 3 个 SQLite dll 都具有 Copy Local = true。
我猜 SQLite NuGet 安装未能设置某些项目属性/引用,但我不知道这可能是什么,为什么以及如何解决它。我什至不确定是谁负责:SQLite、NuGet、Visual Studio 还是我?
感谢您的帮助。史蒂夫
【问题讨论】:
-
我遇到了完全相同的问题。我将继续进一步补充说,我尝试使用 clickonce 解决方案安装 c++ 可再分发包,但无济于事。多年前对于同样的问题有许多解决方案,但没有什么能真正为我解决问题
标签: sqlite visual-studio-2015 clickonce