2009-05-21 33 views
2

我々はISVであり、問​​題なく私たちのソフトウェアを使用している企業の数百を持ってここに奇妙な例外が()

壁に向かって私たちの頭をバッシング。このソフトウェアは.NET 2.0のWinforms/C#です。

私たちのクライアントのうちの1人が私たちのソフトウェアをインストールしています。それは正常に動作する1人の男の子のラップトップを除いて、すべてのマシンの起動時にクラッシュします。

OdbcConnection.Open()を呼び出すには、我々は次の例外を取得:

The type initializer for 'System.Transactions.Diagnostics.DiagnosticTrace' threw an exception. 
    at System.Transactions.Diagnostics.DiagnosticTrace.get_Verbose() 
    at System.Transactions.Transaction.get_Current() 
    at System.Data.Common.ADP.IsSysTxEqualSysEsTransaction() 
    at System.Data.Common.ADP.NeedManualEnlistment() 
    at System.Data.Odbc.OdbcConnection.Open() 
    at OurCompany.OurForm.connectionTestWorker_DoWork(Object sender) 

これはのInnerExceptionがあります

Configuration system failed to initialize 
    at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey) 
    at System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(String sectionName) 
    at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName) 
    at System.Configuration.ConfigurationManager.GetSection(String sectionName) 
    at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName) 
    at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection() 

Googleは単に「のapp.configは文法的に間違っている、それを再構築すると言います"しかし、同じapp.configは何百もの他のマシンで正常に動作します。

は、ここで要求されるように、app.configをです:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
     <section name="OurApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 
    <system.diagnostics> 
    </system.diagnostics> 
    <applicationSettings> 
    <OurApp.Properties.Settings> 
     <setting name="OurApp_WebServices_OurServiceName" serializeAs="String"> 
     <value>http://ourdomain.com/OurService.asmx</value> 
     </setting> 
    </OurApp.Properties.Settings> 
    </applicationSettings> 
    <appSettings> 
    <add key="WorkflowEngine" value="old" /> 
    <add key="ProductID" value="3" /> 
    <add key="EnableMigrationWizard" value="false" /> 
    <add key="UseAlternativeFtpPort" value="true" /> 
    <add key="FeedbackWhileConnecting" value="true" /> 
    </appSettings> 
</configuration> 

の.NET Frameworkの修復がこれを固定していません。私は完全な損失にあります。何か案は?

+1

レビューのために設定ファイルを提供できますか? –

答えて

0

同じSP /パッチレベルの別のマシンの既知の作業コピーでmachine.configを上書きすることでこれを解決しました。

3

machine.configとuser.configを確認してください。 app.configに加えて、それらは3 that make up the config sectionsです。

リフレクターがEnsureInitは2つの例外パスを持って示しています

catch (Exception exception) { 
    this._initError = new ConfigurationErrorsException(SR.GetString("Config_client_config_init_error"), exception); 
    throw this._initError; 
} catch { 
    this._initError = new ConfigurationErrorsException(SR.GetString("Config_client_config_init_error")); 
    throw this._initError; 
} 

第二だけnon-CLS exceptionを扱うだろうので、私はあなたが最初のものを打っていることを推測すると思います。そのような場合は、InnerExceptionを再帰的に使用して詳細を取得する必要があります。

+0

興味深いことに、サポート担当者が.NETを完全に削除して再インストールして、アプリケーションが動作し始めました。おそらく、それはmachine.configを削除し、新しいものでコピーしました。論理的には、自動インストールによってマシン上のmachine.configが.NETが例外を犯しているもの(上書きされていないもの)を上書きしている場合、このインストールが将来何らかの時点で再び機能しなくなること、殴られている。時間は教えてくれるでしょう... – tomfanning

+0

ああ、私はInnerExceptionの次のレベルをつかむ別のビルドを焼いてしまいました。利用可能であれば、朝のマシンの別のものに戻ってくるものを見てみましょう... – tomfanning

+1

@ id.tomfanning .eu - nullになるまで、特に遠隔の状況では、各InnerExceptionを取得します。どれだけ多くのレベルがダウンしたかはわかりません。さもなければ、ちょうどボトムレベルの欠陥を得るために毎日のビルドをリリースするだけです。 –

0

私のデスクトップ上で開発していたローカルアプリでこの問題が発生しましたが、この問題は単純に私が間違っていることがわかりました。それが修正されたら、再び魅力のように働いた。

0

ASP/VB.NET 3.5 SP1でOLE DB接続を開こうとすると、まったく同じエラーが発生しました。 IEの信頼できるサイトのリストにURLを追加すると、エラーが解消され、接続が正常に開始されます。これが他のブラウザで問題を解決するかどうかはわかりません。

+1

ああ、何?クライアントの設定を変更すると、サーバー上で例外が発生するかどうかが決まります。 – tomfanning

関連する問題