简体   繁体   中英

Visual Studio 2019 Error - Could not load file or assembly or one of its dependencies

I have some trouble with running my project. When I try to run, the following error appears:

FileNotFoundException: Could not load file or assembly 'Dapper, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified

Context:

I have a Class Library X and a Web Application Y which have dependencies on X. When I try to run my API project, it throws the above error. BUT, when my colleagues try to run the same API project, it works fine (no errors, and in /bin folder, it loads all the.dll libraries..)

I did those approaches:

  • Restart Visual Studio, clean and build a solution
  • Remove the class library references and add it again
  • Tools > Import and Export Settings Wizard > Reset all settings (maybe some setting was not well configured). I also tried to import colleague settings and didn't work either.

I tried various approaches(even in a different machine, but same VS settings) but none of these worked for me.

Visual studio 2019 16.4 Enterprise.

I'd also try:

1) Deleting your bin and obj folders in your solution before a rebuild.

2) Check that you've not got multiple versions of the same package across the solution (right click on solution in solution explorer -> manage nuget packages for solution).

3) Check that the properties of the reference (right click in solution explorer on the reference in question) shows a path to the package that you'd expect relative to the solution (eg not in mydocuments/nuget packages or something!).

4) Try a fresh clone of the repo (this should in effect replicate your co-workers' set up) and see if the problem still exists then.

I suppose another cause could be that your coworkers have a locally installed package / dll that they're happily referencing without realising, but you don't have?

When you copy a project from someone or another system, you need to download and install all components. normally VS will give you the option to "restore packages" when you load a newly imported from git but not sure if it does when you open an existing solution from a different system.

Right Click your project, Manage Nuget Packages
Browse -> Search for Dapper. Install

In the error you receieve, it tells you what version of the package should be installed as well. Installing a significantly different version might cause other unexpected errors.

thank you for your solutions but I found the problem:

The project solution has some projects with .net standard 2.0 and some with .net framework 4.8. Somehow, when I run the app, some packages are not loaded correctly and it throws an error.

That line below solved my problem:

<RestoreProjectStyle>PackageReference</RestoreProjectStyle>

Put it in all .net framework 4.8 projects on first XML tag.

Thank your for all.

Regards.

I had exactly the same Dapper error message today when referencing a.Net Standard 2.1 class library in a.Net Core 3.1 WinForm app. My resolution was to double-click the class library name in Solution Explorer to open the.csproj file, and then add a CopyLocalLockFileAssemblies tag to the PropertyGroup tag and setting it to true.

在此处输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM