首页 > 解决方案 > 在 Visual Studio 中将 DevExpress XtraReports 与 PostgreSQL 连接起来

问题描述

我有 DevExpress XtraReports v18.1.6 版本和 PostgreSQL 4 v3.3。Visual Studio 2017 v15.3.3 和 Windows 7。

这是场景:在我的项目中,我有一些用 devexpress v17.2 编写的报告。我无法运行这些报告,因为我无法准确下载该版本 17.2,我安装了新的 18.1.6。然后在 Visual Studio 主菜单“DevExpress”中单击“项目转换器到 18.1..”,然后该操作将我的旧 dll v17.2 替换为新的 18.1。之后我可以运行报告(在设计器中查看)。

但问题在于数据库连接。我用“XpoProvider=Postgres”创建了连接字符串。每次当我想在报告中获取数据、重建结果 shema 或管理查询时,我都会收到错误: 无法加载文件或程序集 'System.Threading.Tasks.Extensions, Version=4.2.0.0,...

我有那个参考,正是那个版本。我也尝试了新版本的 threading.tasks 但没有成功。

我的 Npgsql.dll 版本是 2.2.7,我尝试使用 3.2.5(从一些 devexpres 文档中读取)。还尝试了新的 4.0.3。

有没有人有类似的问题?

标签: postgresqldllconnectiondevexpressnpgsql

解决方案


将 DevExpress (18.1) 报表设计器与 Visual Studio 2017 一起使用时,我们遇到了同样的问题。

我知道这可能不是一个理想或最好的解决方案,但至少它对我们有用:

  1. 我使用 ProcMon 来确定它在哪里寻找那个特定的文件,对我来说它原来是C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\hhfnlhs1.kna
  2. 我从 NuGet 下载了 System.Threading.Tasks.Extensions 的 NuGet 包(https://www.nuget.org/packages/System.Threading.Tasks.Extensions/
  3. 我解压缩包并将 DLL 存储在步骤 1 中的该路径
  4. 我必须在我的机器配置中激活“loadFromRemoteSources”(请参阅​​ https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/dd409252(v=vs.100)
  5. 我必须从步骤 1将来自 NuGet 的另一个 DLL ( https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/4.5.2 ) 放入该文件夹

就是这样——现在我可以再次访问数据库了。


推荐阅读