16

MEFとRavenBDを持つasp.net MVC 4プロジェクトがあります。Antlr3依存性の地獄を解決するには

それがこの例外をスロープロジェクトのロード:(MVC 4でインストール)RavenDBとWebGrease両方がAntlr3を使用することを私が発見した

Antlr3.Runtime.dll

ファイルまたはアセンブリをロードできませんでした。しかし、WebGreaseには、Microsoftが署名した独自のAntlr3 dllが付属しています - PublicKeyToken 31bf3856ad364e35

Antlr3のデフォルトのPublicKeyTokenはeb42632606e9261fです。

RavenDBとWebGreaseが

Antlr3 3.3.1.7705の同じバージョンを使用するにはどうすればこの問題を解決することができますか?

+1

RavenDBはすぐ –

+0

ayende-rahien @のためにあなたAyendeありがとうAntlr3のDEPを削除するすべてのソリューションを再構築する唯一の方法だと思われます情報残念ながら、私の依存関係の別のものがAntlr3に依存するなら、私は同じ問題を抱えています。私は問題がRavenDBのためではなく、Antlr3のコンパイル済みバージョンを使用しているWebGreaseだからです。 – W3Max

答えて

6

残念ながら、異なるバージョンの同じバージョンの依存関係の解決方法が見つかりませんでした。

しかし、うれしいことに、WebGreaseの貢献者の一人、Howard Dierkingが電子メールで私の懸念に答えてくれたことです。ここに彼の反応があります:

こんにちはマキシム - これはあなたに遭遇して申し訳ありません。私はすぐに問題を解決するためにカップルに 物事を行うために働いている:

1)最新ANTLR バージョンでANTLRパッケージへのアップデートの準備 - テストし、

2をnuget.orgするためにプッシュします) WebGreaseチームと協力して、NuGetパッケージ を変更して、antlr.dllを出荷せず、むしろパッケージ の依存関係を取るようにしました。彼らと話すことで、彼らはパッケージ が存在することに気付きませんでした。

これは、実行したdll hellの問題を解決するはずです。うまくいけば、 これは休日と数週間以上かかることはありません。

おかげで、

_howard

+0

は現在同じことを経験しています。あなたはそれを解決しましたか?私の 'WebGrace varsion 1.3.0'(Nugetの最新)' Antlr3.Runtime version 3.3.1.7705'(Nugetのもの) – Kuncevic

1

私は同じ問題を抱えていたと、自分のコンピュータからすべてのプロジェクトを削除するサーバーから最新バージョンを取得し、プロジェクトの後、すべてのnugetの依存関係を再構築することによってそれを解決しますロードされる。 これを試すことができます、それは私のために働いた。

いくつかのnugetの依存関係がアンインストールされた後の後ろにいくつかのゴミを残して、それはきれいに

関連する問題