Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lightweight Solution Load: Review and Merge #5180

Closed
alpaix opened this issue May 8, 2017 · 2 comments
Closed

Lightweight Solution Load: Review and Merge #5180

alpaix opened this issue May 8, 2017 · 2 comments

Comments

@alpaix
Copy link

alpaix commented May 8, 2017

No description provided.

@alpaix alpaix added this to the 4.3 - 5/8 thru 5/27 milestone May 9, 2017
alpaix added a commit to alpaix/NuGet.Client that referenced this issue May 18, 2017
This change summarizes feature work done to enable full support of LSL
in NuGet Package Manager.

Main concepts introduced

- `IVsProjectAdapter` - An abstraction layer over `EnvDTE.Project`.
Represents a virtual project object. It is aware of LSL mode and is
capable to force load project when it's needed. All occurances of DTE
project have been replaced with new adapter object.

- `INuGetProjectServices` - Collection of project services as building
blocks to access underlying project system functionality, such as
reference reader, build properties, project system capabilites, script host.

- `VsCoreProjectSystemService` - Implementation of project services for VS
  core project system (DTE).

- `VsLangProjectSystemService` - Implementation of project services for
  managed languages project system (VsLangProj80).

- `WorkspaceProjectServices` - Implementation of project services for
  deferred projects based on Workspace* API.

Notable refactorings
- Decommissioned `EnvDTEProjectAdapter` in favour of the new adapter.
- `LegacyCSProjPackageReferenceProject` =>
  `LegacyPackageReferenceProject`.
- `CpsPackageReferenceProject` => `NetCorePackageReferenceProject`
- Multiple renamings to avoid confusion betwen projects and project
  systems.

Resolves NuGet/Home#5180.
alpaix added a commit to NuGet/NuGet.Client that referenced this issue May 27, 2017
* Lightweight solution load: Merge feature branch

This change summarizes feature work done to enable full support of LSL
in NuGet Package Manager.

Main concepts introduced

- `IVsProjectAdapter` - An abstraction layer over `EnvDTE.Project`.
Represents a virtual project object. It is aware of LSL mode and is
capable to force load project when it's needed. All occurances of DTE
project have been replaced with new adapter object.

- `INuGetProjectServices` - Collection of project services as building
blocks to access underlying project system functionality, such as
reference reader, build properties, project system capabilites, script host.

- `VsCoreProjectSystemService` - Implementation of project services for VS
  core project system (DTE).

- `VsLangProjectSystemService` - Implementation of project services for
  managed languages project system (VsLangProj80).

- `WorkspaceProjectServices` - Implementation of project services for
  deferred projects based on Workspace* API.

Notable refactorings
- Decommissioned `EnvDTEProjectAdapter` in favour of the new adapter.
- `LegacyCSProjPackageReferenceProject` =>
  `LegacyPackageReferenceProject`.
- `CpsPackageReferenceProject` => `NetCorePackageReferenceProject`
- Multiple renamings to avoid confusion betwen projects and project
  systems.

Resolves NuGet/Home#5180.

* Cumulative PR feedback plus bug fixes

* Applied recommended design changes

* [BUG 441140] An error dialog pop up when creating C# ASP.NET Sigle Page Application

Fixes internal bug 441140.
@rrelyea rrelyea modified the milestones: 4.4, 4.3 - 5/8 thru 5/27 Aug 16, 2017
@rrelyea
Copy link
Contributor

rrelyea commented Aug 16, 2017

This ended up not shipping in 4.3, switching milestone to 4.4 (where we think it will ship)

@rrelyea
Copy link
Contributor

rrelyea commented Sep 1, 2017

Completed in VS 2017 version 15.4 preview 2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants