Was ist der Unterschied zwischen F5 und CTRL+F5, oder wie finde ich den Fehler

10/10/2008 - 09:07 von Roland Schumacher | Report spam
Hallo

Ich habe ein Progi das mit F5 làuft. Führe ich es aber mit CTRL+F5 aus,
dann geht nichts mehr. Wenn ich die EXE-Datei doppel klicke auch nicht.

Ich weiss in zwischen wo es bum macht. Ich weiss aber nicht wie so.

[...]
class SqlDatabase : Database
{
public SqlDatabase(string connectString) : base(connectString)
{
}

protected override DbConnection CreateConnection(string connectionString)
{
SqlConnection conn = null;

try
{
conn = new SqlConnection(connectionString);
}
catch (SqlException sqlex)
{
File.WriteAllText(@"C:\log\sql.txt", sqlex.ToString());
File.WriteAllText(@"C:\log\sqlinner.txt",
sqlex.InnerException.ToString());
}
catch (Exception ex)
{
File.WriteAllText(@"C:\log\ex.txt", ex.ToString());
File.WriteAllText(@"C:\log\exinner.txt", ex.InnerException.ToString());
}

return conn;
}
[...]

Mit F5 klappt es, mit CTRL+F5 nicht. Connectstring ist korrekt. Auch mit
CTRL+F5.

Diese Exception bekomme ich. Es wird eine Exception ausgelöst, nicht die
SqlException.

Exception:
[...]
System.TypeInitializationException: Der Typeninitialisierer für
"System.Data.SqlClient.SqlConnection" hat eine Ausnahme verursacht.

System.TypeInitializationException: Der Typeninitialisierer für


"System.Data.SqlClient.SqlConnectionFactory" hat eine Ausnahme verursacht.

System.TypeInitializationException: Der Typeninitialisierer für


"System.Data.SqlClient.SqlPerformanceCounters" hat eine Ausnahme
verursacht.

System.Configuration.ConfigurationErrorsException: Das


Konfigurationssystem konnte nicht initialisiert werden.

System.Configuration.ConfigurationErrorsException: Unbekannter


Konfigurationsabschnitt "lag.wordplus". (P:\ProjectX\WP.config line 8)
bei System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean
ignoreLocal)
bei
System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors
schemaErrors)
bei System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
bei System.Configuration.ClientConfigurationSystem.EnsureInit(String
configKey)
Ende der internen Ausnahmestapelüberwachung
bei System.Configuration.ConfigurationManager.PrepareConfigSystem()
bei System.Configuration.ConfigurationManager.GetSection(String
sectionName)
bei
System.Configuration.PrivilegedConfigurationManager.GetSection(String
sectionName)
bei System.Windows.Forms.WindowsFormsSection.GetSection()
Ende der internen Ausnahmestapelüberwachung
bei System.Data.SqlClient.SqlConnectionFactory..cctor()
Ende der internen Ausnahmestapelüberwachung
bei System.Data.SqlClient.SqlConnection..cctor()
Ende der internen Ausnahmestapelüberwachung
bei System.Data.SqlClient.SqlConnection..ctor()
bei System.Data.SqlClient.SqlConnection..ctor(String connectionString)
bei LAG.WordPlus.Database.SqlDatabase.CreateConnection(String
connectionString) in P:\ProjectX\SqlDatabase.cs:Zeile 23.
[...]

Exception Inner:
[...]
System.TypeInitializationException: Der Typeninitialisierer für
"System.Data.SqlClient.SqlConnectionFactory" hat eine Ausnahme verursacht.

System.TypeInitializationException: Der Typeninitialisierer für


"System.Data.SqlClient.SqlPerformanceCounters" hat eine Ausnahme
verursacht.

System.Configuration.ConfigurationErrorsException: Das


Konfigurationssystem konnte nicht initialisiert werden.

System.Configuration.ConfigurationErrorsException: Unbekannter


Konfigurationsabschnitt "lag.wordplus". (P:\ProjectX\WP.config line 8)
bei System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean
ignoreLocal)
bei
System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors
schemaErrors)
bei System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
bei System.Configuration.ClientConfigurationSystem.EnsureInit(String
configKey)
Ende der internen Ausnahmestapelüberwachung
bei System.Configuration.ConfigurationManager.PrepareConfigSystem()
bei System.Configuration.ConfigurationManager.GetSection(String
sectionName)
bei
System.Configuration.PrivilegedConfigurationManager.GetSection(String
sectionName)
bei System.Windows.Forms.WindowsFormsSection.GetSection()
Ende der internen Ausnahmestapelüberwachung
bei System.Data.SqlClient.SqlConnectionFactory..cctor()
Ende der internen Ausnahmestapelüberwachung
bei System.Data.SqlClient.SqlConnection..cctor()
[...]

Ich würde meinen die App findet irgend wo den Konfigurationsabschnit
"lag.wordplus" nicht. Aber ich finde im Code niergends mehr eine Stelle wo
das geladen wird. Das muss irgend wo im Hintergrund von der Factory gemacht
werden. Aber wo und wie? Kann ich da irgend wie eingreifen?

Das Ganze auf einem Windows XP mit VS2008, reine .NET Application.

Gruss
Roland Schumacher
http://blog.geniali.ch/
http://jotd.geniali.ch/
 

Lesen sie die antworten

#1 Roland Schumacher
10/10/2008 - 09:46 | Warnen spam
Am Fri, 10 Oct 2008 09:07:39 +0200 schrieb Roland Schumacher:

Ich habe ein Progi das mit F5 làuft. Führe ich es aber mit CTRL+F5 aus,
dann geht nichts mehr. Wenn ich die EXE-Datei doppel klicke auch nicht.



Der Unterschied ist z.B.:

CTRL+F5: AppDomain.CurrentDomain.SetupInformation.ConfigurationFile =ANWENDUNGSNAME.config

F5: AppDomain.CurrentDomain.SetupInformation.ConfigurationFile =ANWENDUNGSNAME.vshost.exe.config

Das brachte mich dann auf die Idee die App.condig genauer anzuschauen.
Ich fand dort das hier.

<!-- <configSections>
<section name="lag.wordplus"
type="LAG.WordPlus.Configuration.WordPlusSection, LAG.WordPlus" />
</configSections> -->

Na ja, was soll ich sagen. <!-- --> weg und es tut.

Und wieder um eine Erfahrung reicher.

Gruss
Roland Schumacher
http://blog.geniali.ch/
http://jotd.geniali.ch/

Ähnliche fragen