2017-01-24 15 views
0

Liquid-XMLプロジェクトを運用マシンで実行する際に問題があります。液体のXMLライセンスはOKです。私は液体のXMLスタジオでクラスlibを作り直しましたが、エラーフロントに変更はありません。Liquid-XML Libでコードを実行中に登録エラーが発生しました

CMDラインは私にこれらの情報を提供します:

Ausnahmefehler: System.TypeInitializationException: Der Typeninitialisierer für "myLib.Registration" hat eine Ausnahme verursacht. ---> System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt. bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) bei myLib.Registration.RegisterLicense() in [PATH]\coding\my.xsd.Output\SourceCodeVBNet\Enumerations.vb:Zeile 53.

ライン53は、ライセンス・レジスタ・コードです:

LiquidTechnologies.Runtime.Net45.XmlObjectBase.Register("company xyz", "my.xsd","somecharshere") 

任意のアイデア?

答えて

1

翻訳されたエラー:

Exception Error: System.TypeInitializationException: The type initializer for "myLib.Registration" caused an exception. ---> System.ArgumentException: An element with the same key has already been added. At System.Collections.Generic.Dictionary`2.Insert (TKey key, TValue value, Boolean add) at myLib.Registration.RegisterLicense() in [PATH] \ coding \ my.xsd.Output \ SourceCodeVBNet \ Enumerations.vb: Line 53.

この問題は、デフォルトNamespaceAliases辞書に追加取得複数の項目によって引き起こされる、例えば以下は、接頭辞「ABC」のように、この例外が二回追加される原因となる2つ以上の液体XMLデータバインダーは、ライブラリがあなたのクライアントのプロジェクトから参照されて生成されたとき

LiquidTechnologies.Runtime.Net45.XmlSerializationContext.Default.NamespaceAliases.Add("abc", "http://myurl"); 
LiquidTechnologies.Runtime.Net45.XmlSerializationContext.Default.NamespaceAliases.Add("abc", "http://myotherurl"); 

一般的に、この問題が見られます。 Defaultコンテキストは静的なので、XmlSerializationContext.Default.NamespaceAliasesに同じキーを追加すると、別のライブラリに追加されていても例外がスローされます。

これは、次のKnowledge Baseの記事で覆われている:

http://support.liquid-technologies.com/kb/a110/how-do-i-use-multiple-_net-generated-libraries-from-a-single-client.aspx

関連する問題