dotnet / project-system

The .NET Project System for Visual Studio
MIT License
968 stars 387 forks source link

Need API to support DLLs and reference additions #5275

Open jinujoseph opened 5 years ago

jinujoseph commented 5 years ago

With reference to https://github.com/dotnet/roslyn/issues/37246 Creating a placeholder for now

Roslyn needs a service from project system which when passed with following information

ProjectSystem will figure out if that's a valid addition. Project system can validate if it has all the metadata to resolve or does it needs any further data from the Build, in which case MSBuild team will add that metadata to make it possible.

While designing this API we should also keep Remove ununsed references in mind. While we don't need to add a feature now to remove an assembly or to remove all unused assemblies, We find value in the concept of remove all unused references feature. And when we design the project system interaction to correctly add references, We should consider whether the same API will provide a suitable surface area to eventually be able to remove all unused references, the thing to keep in mind is we cann’t be passing a single dll to be removed but will have to pass the collection of all unused references for the project/sln at once.

@davkean to cleanup the above text and capture the design.

davkean commented 4 years ago

@jinujoseph What release are you tracking this?