ファイルまたはアセンブリ 'Antlr3.Runtime(1)'またはその依存関係の1つを読み込めませんでした


82

MVC4プロジェクトを実行しようとするとこのエラーが発生します。前回まで他のマシンで正常に機能していましたが、別のマシンから実行しようとすると、次のエラーが発生します。

ファイルまたはアセンブリ 'Antlr3.Runtime(1)'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)

ここでこれについて読んだ後、私はやろうとしました

インストール-パッケージAntlr3.Runtime-Pre

しかし、それは役に立ちませんでした、何かアイデアはありますか?


1
前のインストールを解除してみましたか?上記のバージョンをインストールする前のバージョン?
スポック

1
私はどのバージョンも更新しませんでした。マシンを変更したばかり
Maven

ソリューションを右クリックしてから、[nugetパッケージの復元を有効にする]をクリックしようとしましたか?
TS

ここでの答えはどれも役に立ちませんでしたが、この重複に対する答えは役に立ちました。
DCShannon 2014年

回答:


102

無料のNlogロギングプラットフォームで実験したときに同じ問題が発生しました。

これは私を助けました:

ファイルエクスプローラーに%TEMP%と入力し、すべての一時ファイルを削除します。

その後、VisualStudioでMVC5プロジェクトを開始してもエラーは発生しませんでした。


エラーメッセージに「(1)」が含まれていませんでしたが、この解決策は引き続き機能しました
Roberto

10
これをありがとう。Visual Studioの根性にこぶしを
突き刺し

驚くばかり!!これであまりにも多くの時間を無駄にしました。私の問題はビルド部分ではありませんでしたが、pubxmlファイルを使用したアーティファクトの公開がJenkinsサーバーで失敗していましたが、ローカルマシンでは正常に機能していました。上記のように一時フォルダーを削除すると、公開アーティファクトは問題なく機能しました。
yyardim 2017年

40

次のいずれかを実行して、ASP.Netの一時ファイルを削除してみてください。

  • ファイルエクスプローラーに%TEMP%と入力し、すべての一時ファイルを削除します。
  • フォルダ「C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ TemporaryASP.NET Files」に移動し、すべてのファイルを削除します。

7
ありがとうございました。私にとって助けになったのはオプション2でした
ラビ

@Rabbiに同意します。私の問題を解決したのはオプション2です。私はあなたの答えを10回賛成できたらいいのにと思います!どうもありがとうございました。:)
アニーラガン2017

31

の一時ASP.NETファイルもクリアすることを忘れないでくださいFramework64。それは私にとってトリックでした。

  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

完全に感謝します。この投稿を見るまで、受け入れられた答え
Joshua Ohana

これは、参照されている自分と別のproject-dllで機能します。私の場合、Webプロジェクトのすべての参照が壊れていて、メッセージは「ファイルまたはアセンブリ 'whatever.dll'またはその依存関係の1つを読み込めませんでした」でした。クリーンアップ後、dll参照が作成され、すべて正常に動作します。
Fer R

27

これが誰かを助ける場合に備えて。
MVC5アプリケーションでこの問題が発生しました。binディレクトリからAntlr3.Runtime.dllを削除して再構築すると、問題が修正されました。


これは私のために働いた。ありがとう。しかし、私はまだこのエラーの本当の理由についてはわかりません。誰かが説明できますか?
mukulsharma1146 2016年

1
私の場合、代わりにWebGrease.dllを削除する必要がありました
Tharwen 2017年

ありがとう...これを解決するために3時間費やしました。これは、私のYSODを取り除くためのステップです。
ジョシュアK

18

私の問題は、最新バージョンのWebGreaseがバージョン3.4.1.9004のAntlrをインストールすることでした。WebGreaseをインストールしてから、Antlrをバージョン3.5.0.2に更新すると、エラーはなくなりました。


11
私の問題はまさにこの問題でした。Microsoft.AspNet.Web.Optimization、WebGrease、Antlrを(この順序で)アンインストールして、パッケージマネージャーコンソールで依存関係チェーンを解除し、Microsoft.AspNet.Web.Optimizationをインストールパッケージし、WebGreaseを更新し、最後に更新する必要がありました。 -Antlrを(この順序で)パッケージ化して、最新バージョンを取得し、Antlrバージョンの問題を修正します。
ウェイド

13

私の場合、web.configファイルでこのノードを削除すると、エラーメッセージが削除されました。

<identity impersonate="true" userName="" password="">

しかし、私にとって実際に機能したのは、C:\ Windows \ Microsoft.NET \ Framework {version}(またはFramework64)にあるTemporary ASP.NET Files "フォルダーへの(impersonateで指定されたuserNameへの)フルアクセスを許可することでした。

IDは、IISのWebサイトアプリケーションプール設定にも保存される場合があります。

nugetパッケージが正しいバージョンで正しくインストールされていることを確認してください。他に何も機能しない場合は、ローカルフォルダーから参照を再度追加し、[ローカルコピー]に設定してみてください。


1
これで問題は解決しました。web.configにはステージング環境での偽装の設定があり、そのユーザーアカウントは私の開発者の世界には存在しませんでした。
ttomsen 2014

3つの提案をすべて試しましたが、どれもうまくいきませんでした。まだYPODを取得しています1.web.configに<identityタグがありません2.iis_usrsとusers \ johnnyの両方に「フルコントロール」を与えました3.最後のオプションはハックのようです
dannyrosalex 2015年

コマンドを使用して解決しました:ASPNET_REGIIS -GA impersonatedusername
cslecours 2017

これは私の問題を解決するのに役立ちました。私はローカルで作業していましたが、この要素に記載されているアカウント名は私のdevフォルダーにアクセスできません。
aamol 2018

おかげで、このソリューションは本当に役に立ちます。
Josue Barrios

11

問題を解決する解決策がある場合は、アセンブリのバージョンであるweb.configを確認してください

<dependentAssembly>
        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
      </dependentAssembly>

ありがとう。パッケージを更新して問題に直面した場合、この答えは私のために働いた。
Fereydoon Barikzehy 2015年

私はこのアセンブリを取り外しました、そしてそれは私のために働きました。ありがとうございました!!
user6667769 2017年

7

簡単な方法の1つは、antlrとwebgreaseを更新することです

  1. GotoPackageコンソールマネージャー
  2. 次に、これらのコードを1つずつ適用してみてください
  3. PM> Update-Package Antlr
  4. PM> Update-Package WebGrease

最後にエラーが解決しました


2

私にとって、これはAntlrのデバッグバージョンとランタイムバージョンの不一致が原因でした。

最後に、別のAntlrパッケージをインストールして解決しました:Install-Package Antlr


2

参照を手動で追加する場合は、Antlr3.Runtime.dllのロックを解除してみてください。 ここに画像の説明を入力してください


2

web.configのimpersonate = "true"に問題があり、機能した行を削除しました。

再び私は行を配置し、偽装でユーザーをアカウントするための管理者権限を与えました、私のアプリケーション全体が機能しました:)


1

なりすましを使用している場合。答えは、次のフォルダへのアクセスを偽装していることをユーザーに許可することです。

  1. C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files

  2. あなたのサイトディレクトリ。

また、次のようにフォルダを作成する必要がある場合もあります。

C:\Windows\Microsoft.NET\Framework\[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files\[Application-Name-Goes-Here]

しかし、最初に前のものを試してみてください、それは私のために働きました。

偽装されたユーザーに一時データを保存し、dllファイルと必要なファイルをディレクトリからプルできるようにするためのこれらの2つの変更

更新、Windows10の場合これは私のために働いたソリューションです

両方の手順を実行しますが、代わりに C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files

%TEMP%をファイルエクスプローラーに書き込み、次のフォルダーへのアクセスを偽装していることをユーザーに許可します。 C:\Users\[UserName]\AppData\Local\Temp\Temporary ASP.NET Files


0

プロジェクトでWebGreaseを参照しましたが、packages.configに対応する要素がありませんでした。参照はもう必要ないので、プロジェクトから削除します。今は動作します。


0

私はこの投稿のすべての答えを試しましたが、どれもうまくいきませんでした。

そこで、すべてのプロジェクト内のすべての/ binディレクトリをソリューションから削除し、ソリューションをクリーンアップして再構築したところ、ようやく機能しました。

私の朝は問題を理解するために仕事を無駄にしました...


0

私にとってうまくいったのは、(system.webプロパティの下の)私のwebconfigからidentity = trueを削除し、ソリューションを再構築して(必要に応じて)再度公開することでした。それは魅力のように機能しました!


これはコメントする必要があります
Usman Maqbool 2016

0

私の問題は、グループポリシーのマップされたドライブの変更が原因で発生しました。私のソリューションでは、Web.configでtempDirectory設定を設定して、RAMドライブセットアップをZ:ドライブとして使用しています。どうやら彼らはZ:ドライブを使い始め、DLLは通常のようにtempDirectoryにコピーされていましたが、リモートサーバー上のプロセスによって削除されていたと思います(おそらくウイルススキャン)。これは、Process MonitorとAntlrのフィルタリングを使用して、DLLのネットワーク上の場所を検索していることを確認することによってのみ理解できました。


0

Nudget Package Managerですべてのパッケージを更新ましたが、機能しました。私の場合、GoDaddyでウェブサイトをホストしています


0

.netframework一時ファイルを削除しようとして成功しなかった後、変更しました

<system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.6.1" />
    <httpRuntime />
    <pages controlRenderingCompatibilityVersion="4.0" />
</system.web> 

4.6.1ではなくtargetFramework = "4.6"のみを使用すると、Webサイトがエラーなしで表示されます。次に、再度targetFramework = "4.6.1"に変更し、サーバーを再起動します。すべてOKのままです。



0

私にとっての解決策は、[ツール]> [NuGetパッケージマネージャー]> [ソリューションのパッケージの管理]に移動することでした。

次に、Antlr3をクリックして、次の場所にインストールされていることを確認します。

  1. スタートアッププロジェクト
  2. リフレクションを使用するライブラリ
  3. リフレクションを使用するライブラリを呼び出すライブラリ

私の場合、それを必要としたのは4プロジェクトの深さでした。それが行われると、この問題は最終的に解決されました。


0

私はこの問題に直面し、上記の解決策を試しましたが、今のところ何も機能しませんでした。binfloderからdllを削除して再構築し、パッケージフォルダーからすべての関連ファイルを削除してパッケージマネージャーコンソールを使用してパッケージを復元する必要がありました。



0

私の場合、プロジェクトのクローンを作成したときに、Visual Studio 2019は、プロジェクトのパスでスペース文字を「%20」に置き換えました。次に、VSがナゲットパッケージを見つけようとしたときに、正しいパスを見つけることができませんでした。


0

アップグレード後にこの問題に直面しました Microsoft.AspNet.Web.Optimization

update-package WebGreaseそしてupdate-package Antlr(この順序で)最新バージョンを入手し、Antlrバージョンの問題を修正します。


0

私にとって、私はこれらのステップを実行しました、そしてそれは私のために働きました:

1)私はフォルダを削除binしましたobj(いくつかのファイルはCleanプロジェクトによって削除されませんでした)

2)私はずっと前に削除されたJSのようないくつかのファイルをチェックしましたがそれらはプロジェクトファイルに含まれていました。だから私はそれらを除外します。


0

私は簡単な解決策を得ました。独自のプロジェクトフォルダーに移動し、パッケージフォルダーを見つけます。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.