我在本地计算机上使用 SQLite 开发了一个快速而简单的应用程序来开始使用。现在我正在研究如何上传到 AppHarbor,但我在如何让 ElephantSQL 的链接正常工作方面遇到了一些困难。
我使用了Application PostgreSQL Sample Application确定我需要使用 PostgreSQLConfiguration
类进行 FluentNHibernate 配置,并将 Npgsql 包安装到我的解决方案中(我得到的版本是 2.0.12.1)。
当我将代码推送到 AppHarbor 时,它会愉快地构建和部署。当服务器开始启动 AppDomain 时,它会抛出错误 无法加载文件或程序集“policy.2.0.Npgsql”或其依赖项之一。不在 list 中的模块已流入。(HRESULT 异常:0x80131043)
。这没有记录在 AppHarbor 仪表板的“错误”部分中(也许这是缺少的功能或错误?),因此我必须关闭 CustomErrors 才能弄清楚发生了什么。
我错过了什么?
另外 - 我尝试降级到软件包版本 2.0.11。这不包括policy.2.0.Npgsql.dll文件,并且在尝试加载应用程序时,它失败并显示错误无法找到请求的.Net Framework数据提供程序。它可能未安装。
.
最佳答案
我通过降级到版本 2.0.11 使其正常工作,并确保 DbProviderFactories 配置部分的 type 属性具有正确的版本号。
<DbProviderFactories>
<add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Framework Data Provider for PostgreSQL Server" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.11.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
</DbProviderFactories>
关于c# - 我应该如何在 Appharbor 中使用 Npgsql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14326321/