2017-07-05 3 views
0

WindowsフォームのUserControlsを使用してプロジェクトでVS2015を使用して作業しています。 最後に私がコントロールを使用した時、すべてうまくいきました。表示エラーはまったくありませんでした。しかし、VSを再起動した後、ツールボックスはコントロールを表示できませんでした。UserControlsを使用したWindows Forms Toolbox System.TypeInitializationException

私は他のフォームにコントロールを追加するために起動すると、エラーが表示されます。

Error while creating the component ctrlObjectEditor.

Error message: System.TypeInitializationException

The Typeinitializer for "project.Log.LoggerHost" threw an Exception.

... (only rough translation)

私はのprogrammを実行すると、それが正常に動作しますが、私はツールボックスでこれを編集することはできません。

コントロールはすべて同じアセンブリ内にあります。 私は他の質問を見つけましたが、私にとってはうまくいかないようです。 (AnyCPU、x64、x86、コントロールからロガーを削除するなど)

何が問題なのでしょうか?

答えて

0

私自身が答えを見つけたようです。

try 
{ 
    var dir = Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location); 
    return Path.Combine(dir, "Logs"); 
} 
catch (ArgumentException) 
{ 
    return "C:\\Logs"; 
} 

そして、この:

Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) 

それはそうですが、この方法は非常に私はそれを置き換える設計者が実行したときに例外が発生します。

クラスFileLoggerは値で埋め静的なパラメータを持っていました動作するようです。

関連する問題