我有一个可以从源代码管理中下载的工作项目。它使用nuget软件包sqlite-net-pcl。它本身运行良好。但是,当我将启动项目更改为自己的项目(该项目调用上面的项目,并且没有自己的程序包)时,代码在我调用时消失
dbConnection.Open();
反对:
dbConnection = new SQLiteConnection("Data Source=" + dbFile + ";Version=3;");
,并显示错误消息:
System.EntryPointNotFoundException: 'Unable to find an entry point named 'sqlite3_open_interop' in DLL 'SQLite.Interop.dll'
当我在网上查找此消息时,会得到类似here的结果,告诉我安装/更新SQLite.Interop.dll,但是,无论是建议的版本还是最新的版本似乎都不兼容原始项目中的.net版本,或我要包含的项目版本(.net版本4.5.2或4.6.1)
此外,鉴于我实际上所做的只是更改启动项目,因此原始错误似乎很奇怪。 这里的任何想法都很好-我准备好从黑暗和糟糕的软件包管理器世界回到堪萨斯州...
答案 0 :(得分:0)
看来,如果我想在从新启动项目中调用时使用现有项目中的软件包,那么我也需要在其中安装库。我只是通过将packages.config复制到我的新项目中来复制所有软件包,然后运行
Update-Package -reinstall
在新项目的nuget程序包管理器中。