2012-04-09 6 views
1

のコンソールアプリケーションでELMAHを設定します。私はロープを学ぶためにちょうど私の。ネット未経験を許そうとしています。私はちょうど非常に単純なコンソールアプリケーション&を作成して、XMLファイルにログインするためのELMAHを使いたいと思っています。私は&がNuGetからインストールされた"Elmah on XML Log"をダウンロードしました。だから、それは私の参照フォルダでアクティブである、と私は思います。私はそれが少しXMLを使用するように変更しました。もちろん、は、私は私のコンソールアプリケーションでELMAHを使用しようとしているXMLファイル

:私はthis linkの指示に従ってきました。

<?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> 

しかし、私のメインプログラムでは、私が参照にアクセスしてELMAHを使用して起動することはできません。ここに私の非常に単純なコードがあります:

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 
    } 
} 
} 

私はここで何が欠けていますか? NET n00bieから事前に感謝します。

たぶん、それ以下のエラーがいくつかの光を当てるかもしれません:型または名前空間名「ELMAH」1

エラーが見つかりませんでした(あなたがusingディレクティブまたはアセンブリ参照が不足している?)

は、現在対象とフレームワーク」ではありません「のSystem.Web、バージョン= 4.0.0.0、文化=中立、なPublicKeyToken = b03f5f7f11d50a3a」に依存しているので、参照アセンブリ「ELMAHは、」解決できませんでした2警告.NETFramework 、バージョン= v4.0、プロファイル=クライアント "を選択します。ターゲットとするフレームワークにないアセンブリへの参照を削除するか、プロジェクトのターゲットを変更することを検討してください。 Test_004

警告3 "System.Data.OracleClient、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089"に依存しているため、現在参照されているアセンブリ "Elmah"は解決できませんでしたターゲットフレームワーク ".NETFramework、バージョン= v4.0、プロファイル=クライアント"。ターゲットとするフレームワークにないアセンブリへの参照を削除するか、プロジェクトのターゲットを変更することを検討してください。 Test_004

+1

あなたの参照フォルダにElmahがありますか? – Joe

+0

はい、あります。私はNugetからパッケージをインストールして起動しました。 –

答えて

3

私の推測では、あなたが完全なフレームワークではないクライアントフレームワークを使用するようにコンソールapplicaitonを変更する必要があるということでしょう。コンソールアプリケーションのプロパティページから行うことができます(ビルドタブだと思いますが、ここにVSがインストールされていないのでチェックできません)。

+0

Doh!それを指摘するためのThx。私はそれが忘れていたとは信じられません。 –

-1

ELMAHは、アプリのコンソールではない、ASP.NETアプリケーション用に設計されています。

しかし、コンソールアプリケーションのためにそれを使用する方法についていくつかの提案と同様の質問hereがあります。

+0

私はそのポストを見ましたが、私のインテリセンスがなぜ機能しないのでしょうか?私はすべての必要な参照を使用していますが、私はまだエラーが発生しています。 –