externエイリアス 'xxx'が/ referenceオプションで指定されていません

私は log4net.ThreadContext.Properties ["subjectProperty"] = emailsubject を使用しようとしています。 私のプロジェクトでは

私は2つの異なるプロジェクト1] Web - MVC 2]ビジネス層があります。 1] WEB-MVCプロジェクトはCombres 2]ビジネス層。 log4net(ここでは、私は動的にSMTPAppenderを拡張しましたメールアドレス

これらの2つのアセンブリCombresとlog4netを使用しています。

**実行時にエラーが発生しました。

重複参照がCombresとlog4NetにThreadContext用に存在する

**

問題を解決するために extern という単語を追加しました

Use the properties window to change the alias for the assembly from 'global' to 'MyAlias'

At the top of the file where the aliased assembly is used, put extern alias MyAlias. This must be before any using statements.

Use the alias prefix to use the namespace you want, for example using MyAlias::MyNamespace.

しかし、私は

**

externエイリアス 'xxx'が/ referenceオプションで指定されていませんでした

**

0
これは複製ではありません。答え stackoverflow.com/questions/2502640/… この質問の私は役に立たない..
追加された 著者 swapneel,
はい。私のWebプロジェクトを編集しました - まだ動作していません
追加された 著者 swapneel,
私がCombresなしでそれを使うと、それは機能します。 Combresにはlog4netのリファレンスもあります!
追加された 著者 swapneel,
プロジェクトファイルを手動で編集していますか?
追加された 著者 Ben Voigt,
これはASP.NETプロジェクトですか?それはあなたが質問に追加する必要がある重要な情報です。
追加された 著者 Ben Voigt,
これは、 "クラスライブラリ"プロジェクトから順番にWebプロジェクトによって参照されますか?参照エイリアスはASP.NETでサポートされていない可能性があります。
追加された 著者 Ben Voigt,

2 答え

ターゲットフレームワークを.NET 4.5.1に設定します。

2
追加された

私のケースでは、私のソリューションの2つのアセンブリが、別名を使って区別するために同じ実際のdll名を持っていることが分かりました。したがって、2つのアセンブリのうちの1つだけがそこにありました。

改名された

Interfaces.Beta1.dll

そして

Interfaces.v1.dll

その後、それはすべて再び働いた! (両方ともInterfaces.dllと呼ばれているわけではありません)

一度私はそれを明らかにした:)

1
追加された