Visual Studio refuses to build project due to missing assembly reference that isn't missing

假如想象 提交于 2020-01-02 00:51:44

问题


I'm building a c# windows service and has added a couple of assembly references (to other projects of my own) to my project.

I get the following error when I build:

"Error 25 The type or namespace name 'TestClass' could not be found (are you missing a using directive or an assembly reference?"

Interestingly enough, the reference path in the csproj-file is correct, and on top of that, classes and namespaces from the referenced project, that according to Visual Studio is missing, is being picked up by Intellisense and even the "go to definition" function works fine. Furthermore, I have other projects in the exact same folder as my new windows service and they picked up the assembly references just fine. All the referenced projects are included in the solution.

I use Visual Studio 2013 Update 3. There is really no code that I could show that would give you more information, but let me know if you want to see some screenshots or something.

Attempts so far:

  • Tried restarting VS and reloading all projects
  • Tried adding the paths to the properties reference paths page.
  • Tried all steps in this guide: https://msdn.microsoft.com/en-us/library/ayds71se.aspx

Update When I select one of the "missing" references in the reference list, and go to properties, there is no path defined. Yet, the relative path is in the csproj-file as is correct. Confusing.

Update 2 Removing all the references, reloading the projects and then doing a clean fixed it for me. Apparently, the problem was caused by all dlls not being updated in the build stack.


回答1:


1.remove all references

2.Build --> Clean solution

3.Clean your project using this project as sometimes visual studio fails to clean everything neatly.




回答2:


In my case, target Framework of Assembly Project and the target Framework of the project where i want to use this assembly are different. Target framework of assembly project was 4.5 and target framework of my project was 4.0.

When I have change the target framework of my project to the target framework of assembly project i.e. from 4.0 to 4.5 , it works fine.

For change the Target Framework of project,

Right Click the project -> Properties -> Application -> Target Framework

This Target Framework is drop-down list, select your required Framework from this list.




回答3:


Another possible issue could be mismatch in targeted versions of .NET between the assemblies. I experienced the same symptoms and setting the same version of framework did the trick for me.




回答4:


I the same problem. Or at least the symptoms were same. My solution was located on a network drive. Moving the solution to my local drive solved the problem for me.

The reason was apparently that Windows 10 didn't see the network drive as a trusted enough location. It worked fine until I managed to break my solution somehow. Visual studio apparently didn't have the required rights to perform needed the fixing operations.




回答5:


Reinstalling packages worked for me.

From the Package Manager Console, run the the following command to reinstall all packages.

update-package -reinstall

You can target a single package with:

update-package PACKAGE_NAME -reinstall



来源:https://stackoverflow.com/questions/29962432/visual-studio-refuses-to-build-project-due-to-missing-assembly-reference-that-is

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!