2012-03-28 8 views
0

Ich schrieb ein Konsolenanwendungsprojekt.Konsolenanwendung funktioniert nur von vs2010

Wenn ich es über Visual Studio 2010 debuggen, wird es ausgeführt und führt nach Bedarf aus.

Als ich seine exe aus dem cmd laufen,

Ich sehe nicht, die log4net, dass (an die Konsole umgeleitet)

Es werden keine Fehler auf der Konsole angezeigt

Die DB isn nicht aktualisiert.

Was kann das verursachen?

32-Bit-Prozess im Vergleich zu 64?

Mein Build ist zu 32bit.

Ich laufe auf win7 mit VS2010 dotNet 4

Update:

Meine exe funktioniert.

aber ich kann nicht anhängen-to-it über Visual Studio

Log4net nicht Logs an die Konsole btw

das ist meine Config-Datei

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
    <section name="DBSubscriptionStorageConfig" 
     type="NServiceBus.Config.DBSubscriptionStorageConfig, NServiceBus.Core" /> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> 
    </configSections> 

    <connectionStrings> 
    <add name="ToolbarsDB" connectionString="server=DEV-DBSRV50;database=TOOLBARSDB;PASSWORD=toolbarsapp;UID=toolbarsapp" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 


    <log4net> 
    <root> 
     <level value="DEBUG" /> 
      <appender-ref ref="LogFileAppender" /> 
      <appender-ref ref="ConsoleAppender" /> 
     <level value="INFO" /> 
      <appender-ref ref="LogFileAppender" /> 
      <appender-ref ref="ConsoleAppender" /> 
     <level value="ERROR" /> 
      <appender-ref ref="LogFileAppender" /> 
      <appender-ref ref="ConsoleAppender" /> 
     <level value="FATAL" /> 
      <appender-ref ref="LogFileAppender" /> 
      <appender-ref ref="ConsoleAppender" /> 
    </root> 
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" > 
     <param name="File" value="log.txt" /> 
     <param name="AppendToFile" value="true" /> 
     <rollingStyle value="Size" /> 
     <maxSizeRollBackups value="10" /> 
     <maximumFileSize value="10MB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout" xmlns=""> 
     <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
     </layout> 
    </appender> 
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
     </layout> 
    </appender> 
    </log4net> 

    <!--Publisher--> 
    <DBSubscriptionStorageConfig> 
    <NHibernateProperties> 
     <add Key="connection.provider" 
      Value="NHibernate.Connection.DriverConnectionProvider"/> 
     <add Key="connection.driver_class" 
      Value="NHibernate.Driver.SqlClientDriver"/> 
     <add Key="connection.connection_string" 
      Value="Data Source=DEV-DBSRV80;Initial Catalog=CPServicesDB;Persist Security Info=True;User ID=CPServicesDBUser;Password=oire^3jd!"/> 
     <add Key="dialect" 
      Value="NHibernate.Dialect.MsSql2005Dialect"/> 
    </NHibernateProperties> 
    </DBSubscriptionStorageConfig> 
    <!-- End Publisher--> 

    <appSettings> 
    <add key="assemblyName" value="Conduit.CPServices.Logic.Bundlator"/> 
    <add key="typeName" value="Conduit.CPServices.Logic.Bundlator.BundlatorMessageHandlers"/> 
    </appSettings> 

    <runtime> 
    <loadFromRemoteSources enabled="true"/> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="NHibernate" publicKeyToken="AA95F207798DFDB4" culture="neutral"/> 
     <bindingRedirect oldVersion="0.0.0.0-3.2.0.4000" newVersion="3.2.0.4000"/> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 

    <system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="CPServicesGeneralServiceBehavior"> 
      <serviceMetadata httpGetEnabled="false"/> 
      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 

    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
</configuration> 
+0

Können Sie versuchen, es von einer PowerShell-Konsole anstelle des alten Cmd zu starten? – ykatchou

+0

können Sie den Code einfügen, wo Sie log4net konfigurieren? – albertjan

+0

Ich denke, dass das log4net mir helfen wird, besser zu verstehen. Was ist los mit meiner log4net-Community? –

Antwort

1

besagen Wenn ich Sie richtig verstanden Sie sehen die Ausgabe nicht, wenn Sie die Anwendung in Command Prompt ausführen, aber es funktioniert gut in Debug Mode.

Lesen Sie zufällig die Einstellungen von app.config? Vielleicht müssen Sie die Application XML Configuration File sowie die Executable kopieren.

Die Datei wird normalerweise MyApplication.exe.config genannt.

+0

Dies wurde bereits überprüft. app.config ist identisch mit der Datei myApp.exe.config –

+0

Wie rufen Sie Ihre App in der Konsole? Könnten Sie den Befehl posten? Meine Vermutung ist, dass Ihr Arbeitsverzeichnis und Verzeichnis mit ausführbaren Dateien möglicherweise anders sein könnte. –

+0

Ich denke, dass das log4net mir helfen wird, besser zu verstehen. Was ist los mit meiner log4net-Community? –

Verwandte Themen