我已添加NLog以登录到我的Windows服务应用程序的数据库。当我使用private readonly Logger _logger = LogManager.GetCurrentClassLogger();
初始化记录器时,我得到system.argumentexception unable to find the requested .net framework data provider it may not be installed
。
我在App.config中的connectionString
:
<connectionStrings>
<add name="DbEntities" connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider connection string="data source=x.database.windows.net;initial catalog=db;persist security info=True;user id=x;password=x;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
在NLog.config中:
<targets>
<target name="database" xsi:type="Database">
<connectionStringName>DbEntities</connectionStringName>
<commandText>
insert into dbo.Log (Application, Logged, Level, Message, Logger, CallSite, Exception) values (@Application, @Logged, @Level, @Message,@Logger, @Callsite, @Exception);
</commandText>
<parameter name="@application" layout="app" />
<parameter name="@logged" layout="${date}" />
<parameter name="@level" layout="${level}" />
<parameter name="@message" layout="${message}" />
<parameter name="@logger" layout="${logger}" />
<parameter name="@callSite" layout="${callsite}" />
<parameter name="@exception" layout="${exception:tostring}" />
</target>
</targets>
根据参考资料,我有EntityFramework
和EntityFramework.SqlServer
。
如何解决此问题?我尝试重新安装EntityFramework。我尝试在32位模式下运行我的应用程序。
对于我的所有其他应用程序,我从来没有像这样添加NLog的问题。
谢谢。