2013-03-05 7 views
11

In meiner web.config-Datei habe ich alle Verweise auf elmah, die ich brauche, um elmah laufen zu lassen. Außer diesem Teil des Codes:Warum kann mein Webprojekt meine elmah.axd-Datei nicht finden?

<location path="elmah.axd"> 
    <system.web> 
     <authorization> 
      <allow roles="admin" /> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</location> 

Entweder ReSharper oder Visual Studio gibt mir den Fehler:

Location element is unused: no project found at elmah.axd path:Path to web project\elmah.axd not found

installiert ich das Elmah Paket von NuGet und ich habe die dll gespeichert und wenn ich gehe zu die Wurzel meiner Website und geben Sie root/elmah.axd Ich bin in der Lage, auf die Elmah-Protokolle zuzugreifen; Allerdings muss ich den Zugriff dieser Protokolle auf Administratoren beschränken.

Ich habe zwei Benutzer: Admin und Benutzer Ich möchte nur diejenigen mit Admin Rolle auf die Elmah-Protokolle zugreifen.

Fehle ich ein Stück zu diesem Puzzle?

+1

Wo Sie den Fehler zu bekommen? – MikeSmithDev

+0

Wenn ich meine web.config-Datei geöffnet habe, ist das Location-Tag ausgegraut und wenn ich den Mauszeiger darüber halte, erhalte ich den Fehler – Robert

+0

Wie hast du Elmah installiert? Wenn Sie "Install-Package Elmah" von der Package Manager-Konsole ausführen, müssen Sie nur die Autorisierungszeilen in der web.config auskommentieren, damit sie funktioniert. – MikeSmithDev

Antwort

17

Es ist nichts falsch ... es ist nur reSharper ein bisschen albern. Da eine physische Datei mit diesem Namen nicht gefunden werden kann, wird angenommen, dass sie nicht existiert und Ihnen den Fehler anzeigt, den Sie sehen.

Sie können es ignorieren, indem eine ReSharper disable Kommentar wie so mit:

<!-- ReSharper disable WebConfig.RedundantLocationTag --> 
<!-- ReSharper disable WebConfig.WebConfigPathWarning --> 
<location path="elmah.axd"> 
<!-- ReSharper restore WebConfig.WebConfigPathWarning --> 
    <system.web> 
    <authorization> 
     <allow roles="admin" /> 
     <deny users="*" /> 
    </authorization> 
    </system.web> 
</location> 
<!-- ReSharper restore WebConfig.RedundantLocationTag --> 

Aber es sieht hässlich ;-)

+0

Das ist, was ich sehe, danke für die Hilfe – Robert

+0

Immer noch nicht für mich arbeiten! – Glolita

+0

Ich denke, du kannst das ignorieren. Die axd sollte zur Laufzeit existieren. Der Nachschärfekommentar deaktiviert nur die Warnung. Es verhindert nicht, dass der Benutzer über diesen Abschnitt dimmt. Es ist ein Fehler, den ich im Nachschärfen vermute, aber es stört mich nicht. – Bon