Ich versuche ELMAH in meiner Konsolen-App zu verwenden. Ich versuche nur, die Seile zu lernen, also entschuldige meine .net Unerfahrenheit. Ich möchte nur eine sehr einfache Konsole App erstellen & ELMAH für die Anmeldung in XML-Dateien verwenden. Ich habe & "Elmah on XML Log" von NuGet heruntergeladen. Also, es ist aktiv in meinem Referenzordner, denke ich. Ich habe die Anweisungen in this link:Einrichten von ELMAH in Konsolen-Anwendungen für XML-Dateien
befolgt Natürlich habe ich es leicht geändert, um XML zu verwenden.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
<section name="errorTweet" requirePermission="false" type="Elmah.ErrorTweetSectionHandler, Elmah"/>
</sectionGroup>
</configSections>
<elmah>
<security allowRemoteAccess="yes" />
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="C:\temp\elmah_logs\" />
</elmah>
<system.web>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</httpModules>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
</system.web>
<location path="elmah.axd">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
Aber in meinem Hauptprogramm, kann ich nicht den Verweis zugreifen und ELMAH mit starten. Hier ist mein sehr einfacher Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using Elmah; // Complains that missing a directive or assembly
namespace Test_004
{
class Program
{
static void Main(string[] args)
{
int y = 4;
int z = 0;
try
{
var x = y/z;
}
catch (Exception ex) ErrorSignal.FromCurrentContext().Raise(ex); // because of above, this fails
}
}
}
Was fehlt mir hier? Vielen Dank im Voraus von .Net n00bie.
Vielleicht ist es die folgenden Fehler möglicherweise etwas Licht:
Fehler 1 Der Typ oder Namespace-Name ‚Elmah‘ konnte nicht gefunden werden (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis?)
Warnung 2 Die referenzierte Assembly "Elmah" konnte nicht aufgelöst werden, weil sie eine Abhängigkeit von "System.Web, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" hat, die sich nicht im aktuellen Framework ".NETFramework" befindet , Version = v4.0, Profil = Client ". Entfernen Sie Verweise auf Assemblys, die nicht im ausgerichteten Framework enthalten sind, oder ziehen Sie eine Neuausrichtung Ihres Projekts in Betracht. Test_004
Warnung 3 Die referenzierte Assembly "Elmah" konnte nicht aufgelöst werden, weil sie eine Abhängigkeit von hat "System.Data.OracleClient, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089", die nicht in der aktuell Zielgerüst ".NETFramework, Version = v4.0, Profil = Client". Entfernen Sie Verweise auf Assemblys, die nicht im ausgerichteten Framework enthalten sind, oder ziehen Sie eine Neuausrichtung Ihres Projekts in Betracht. Test_004
Haben Sie Elmah in Ihrem Referenzordner? – Joe
Ja, das tue ich. Ich habe das Paket von Nuget installiert und aktiviert. –