Error while removing project dependency in VS2010

2020-02-26 03:15发布

问题:

I have a large solution with number of projects. Some the projects depend on others (never a circular dependency though).

When I tried to remove a dependency of a project, I am getting an error message like "The dependency was added by the project system and cannot be removed". What is the cause for this error? How I can solve this?

回答1:

I sometimes get this problem when I try to manually edit projects/solutions generated by our CMake system. I solve it manually:

  • Open the dependent .vcproj file in your favorite text editor.
  • Find <ProjectReference> tag corresponding to the dependency you want to remove (the include attribute of the tag will contain the name of the dependency project).
  • Remove the whole <ProjectReference> element (i.e. starting with <ProjectReference> and ending with </ProjectReference> inclusive). Save the file.
  • Reload the solution.


回答2:

I faced the same issue. But i could solve it by following

  • Right click project, select Properties.
  • Select Framework and References under Common Properties
  • Select the references thats not needed.
  • Click on Remove Reference.


回答3:

Or =>
To remove a reference in Visual C#:

  1. In Solution Explorer, open the References node under the project node.
  2. Right-click a reference and click Remove

To remove a reference in Visual Basic:

  1. In Solution Explorer, right-click the My Project node for the project and select Properties.
  2. Click the References tab.
  3. In the References list, select the reference you want to remove.
  4. Click the Remove button


回答4:

For Visual Studio 2013: On C++ projects (hope the same for others too)

  1. From the Solution Explorer, select the project and right click to select the properties
  2. In the properties window, on left pane, select Common properties => References
  3. Right side of the window, you have the option to Add or Remove the other dependency items.
  4. Then select OK, to save


回答5:

If your project only has the .sln file but not any .csproj, you may want to

  1. check the ProjectReferences property and remove the reference project there
  2. remove the section from Project to EndProject
  3. also remove the related rows under GlobalSection(ProjectConfigurationPlatforms)


回答6:

As an additional point to @malenkiy_scot's above, for ProjectReference items you want to keep, double check the project guid is the correct one for that project. In the dependent .vcproj file, find the ProjectReference tags as above, and for each you want to keep:

  • open the referenced project's .vcproj file in a text editor
  • find its guid in the ProjectGuid tag
  • compare this with Project tag for that reference in the dependent .vcproj file (not case sensitive)
  • if it's not the same, replace the guid in the Project tag with the one from the referenced project's ProjectGuid tag
  • save the project file and reload the solution

Visual Studio uses the project guid rather than name to determine dependencies. So if you've hand edited the name of the dependency but not the guid (as I did) you get the error.



回答7:

In VS17 Right-clicking on the References node then selecting OptimiseReferences... is good for helping work out your dependencies. Also Right-click on the project and clicking BuildDependancies... ProjectDependencies that might be where your dependency is being set.



回答8:

1- RIght click References of the project and click Add Reference...

2- Uncheck dependent projects from the solution tab