Его очень специфическое сообщение об ошибке, но я не могу найти проблему.Не можете найти требуемый поставщик данных Net Framework
У меня есть служба Windows, которая должна взаимодействовать с базой данных, для этого я делаю следующее:
string provider = "Devart.Data.PostgreSql";
DbProviderFactory factory = DbProviderFactories.GetFactory(provider);
Но он выходит из строя, что дает мне эту ошибку:
System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed. at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
Я пытался переместите Devart.Data.PostgreSql.dll в папку bin, но результаты будут одинаковыми.
Затем я проверил мой machine.config, и у меня есть это:
<add name="dotConnect for PostgreSQL"
invariant="Devart.Data.PostgreSql"
description="Devart dotConnect for PostgreSQL"
type="Devart.Data.PostgreSql.PgSqlProviderFactory, Devart.Data.PostgreSql, Version=7.4.506.0, Culture=neutral, PublicKeyToken=09af7300eec23701" />
Так выглядит правильно, я не нашел какие-либо пустые тегов, обнаружил, что в других SO постов, говоря, что удаление этих тегов когда пустая могла решить проблему, но у меня ее не было.
Так что я не знаю, в чем проблема.
Я также создал консольный проект, который использует ту же версию .NET, и с точным кодом:
string provider = "Devart.Data.PostgreSql";
DbProviderFactory factory = DbProviderFactories.GetFactory(provider);
И это работает. Кто-нибудь знает, что это может быть?
Где происходит ошибка? Это на линии DbProviderFactory factory = DbProviderFactories.GetFactory (поставщик); – Woot
Да. Ошибка возникает в этой строке. – alface
И вы добавили Devart.Data.PostgreSql.dll в качестве ссылки на свой проект? – Woot