次のカスタムターゲットを作成しました。
[Target("MyTarget")
public class MyTarget : TargetWithLayout
このクラスは、独自のアセンブリ内で定義されます。たとえば、MyTargets.dll(本名ではありません)などです。NLog.configファイルには次の行があります
<extensions>
<add assembly="MyTargets, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</extensions>
この新しいタイプを使用するようにターゲットが定義されています。
<target name="myTarget" xsi:type="MyTarget" />
このターゲットを使用するようにロガーが定義されています(省略)。
ターゲットアセンブリプロジェクトを参照すると、アプリケーションは構成を正常にロードします。出力DLLを参照しようとすると、ロードに失敗します。プログラムでアセンブリからターゲットを追加すると(プロジェクトではなくビン参照)、機能します。
DLLは適切な場所、つまりbindirにあるようです。コードで型を参照できるため、型が存在している必要がありますが、コードで型を参照しようとすると転倒するようです。
なぜコードでそれをしないのですか?私が構築しているnugetパッケージの一部であり、このコードライブラリのすべてのコンシューマーに標準の構成ファイルを配布する必要があります。
任意の提案/アイデアをいただければ幸いです