C# 无法在.NET 4.5 MVC应用程序上实现JSNLog

C# 无法在.NET 4.5 MVC应用程序上实现JSNLog,c#,logging,error-logging,jsnlog,C#,Logging,Error Logging,Jsnlog,问题:我正在尝试在MVC应用程序中使用JSNLog(目标框架:.NET 4.5)。我得到“当前上下文中不存在JSN日志”错误 我尝试安装JSNLog 2.28.0,但它显示: 无法安装程序包“JSNLog 2.28.0”。您正试图将此软件包安装到以“.NETFramework,Version=v4.5”为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系软件包作者 因此,我安装了以下用于日志记录的软件包: JSN日志v-2.27.1 JSNLog.Log4

问题:我正在尝试在MVC应用程序中使用JSNLog(目标框架:.NET 4.5)。我得到“当前上下文中不存在JSN日志”错误

我尝试安装JSNLog 2.28.0,但它显示:

无法安装程序包“JSNLog 2.28.0”。您正试图将此软件包安装到以“.NETFramework,Version=v4.5”为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系软件包作者

因此,我安装了以下用于日志记录的软件包:

  • JSN日志v-2.27.1
  • JSNLog.Log4Net v-2.27.1
  • log4Net v-2.0.8
  • 我之前在.NETFramework4.6.1上做过同样的事情,在那时候它非常容易工作。我有什么遗漏吗

    我的步骤是:

  • 从VS 2017创建了一个MVC应用程序
  • 安装了log4net并添加了服务器端日志记录。(这工作正常)
  • 下载的JSNLog&JSNLog.Log4Net
  • JSNLog配置会自动添加到Web.Config中
  • 在视图中添加了@Html.Raw(JSNLog.JavascriptLogging.Configure())。(这仅适用于.NET 4.6.1)
  • 为JSN日志添加了我自己的脚本
  • 我的示例代码如下所示:

    我在Index.cshtml页面上遇到以下错误:

    以下是我在Web.Config中的JSNLog配置:

    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
        <section name="jsnlog" type="JSNLog.ConfigurationSectionHandler, JSNLog" requirePermission="false" /><sectionGroup name="common">
        <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
        </sectionGroup>
      </configSections>
    
      <log4net>
        <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
          <!-- prevent log4net from locking the file, otherwise integration tests cannot remove it for each test-->
          <param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
          <file value="Logs\log.txt" />
          <appendToFile value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%utcdate | %level | %logger | %message%newline" />
          </layout>
        </appender>
        <root>
          <level value="TRACE" />
          <appender-ref ref="RollingFile" />
        </root>
      </log4net>
        <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5" />
        <httpHandlers>
            <add verb="*" path="*.logger" type="JSNLog.LoggerHandler, JSNLog" />
        </httpHandlers>
        </system.web>
    
    <jsnlog productionLibraryPath="~/Scripts/jsnlog.min.js">
        </jsnlog><common>
        <logging>
          <factoryAdapter type="Common.Logging.Log4Net.Universal.Log4NetFactoryAdapter, Common.Logging.Log4Net.Universal" />
        </logging>
      </common>
    
    
    500(内部服务器错误)

    屏幕截图:

    作为解决方案,我将MVC项目框架更改为4.6.1,然后开始工作。我猜JSN日志与.NET4.5版本不兼容。