* Asynchronize access to IVsHierarchy.
* Reverting changes to VsTemplateWizard.cs
* Reverting changes to VsFrameworkCompatibilityTests.cs
* Fixing build break.
* Fixing public API in InternalAPITestHook.
* ProjectType: Using HashSet instead of arrays.
* LegacyPackageReferenceRestoreUtilityTests: Avoid duplicate calls.
* Fix CpsPackageReferenceProjectProvider.cs after mismerge on rebase.
* Remove unused GetAllEnvDTEProjects method.
* Ensure OnEnvDTEProjectAdded/Renamed is executed in entirety before continuing.
* Fix whitespace.
Co-authored-by: Srdjan Jovcic <srdjanj@microsoft.com>
* Move VsHierarchyUtility to same folder as VsHierarchyItem.
* Extract EnvDTE.Project helpers into separate file.
* Move Env.DTE helpers into IDE folder.
* Make helpers true extension methods.
* Use explicit types where warranted.
Co-authored-by: Srdjan Jovcic <srdjanj@microsoft.com>
* add targets to correctly embed interops
* remove 14.0 as it's included through Microsoft>VisualStudio.Shell.15.0
* remove 15.0 as it's only used in the APItest
* remove 15.3 design time
* use the correct version of the Microsoft.NuGet.targets
* fix experimental instance
* extract most of the target framework defintions out of the csproj
* remove every target framework mention from the sdk based csproj
* Move old style csprojes to use the projectversion too
* use better variable names
* use the nugetcoresrc and nugetclientssrc variables
* remove clearing recycle bin
* add logging for vso
* kill running instances of vs regardless
* do not fail if a test times out
* fix logging typo
* more powershell fixes
* re-enable uwp specific tests
* fix termination condition of tests
* change how test result file gets copied to CI machine
* breaking out of while loop and more logging
* fix path issue for results.html
* more fixes in termination condition
* diagnosing parsing errors for first two tests
* log currently running test and fix log.txt logging
* log to console from log.txt using currentTestId
* trying to fix initial logging issue with one line in realtimeresults
* remove unnecesary diag logging
* fix log formatting and add back write-error in case of failure
* fix count of tests and logging
* fix numbering of test and re-enable commented code
* count tests after all assemblies have been loaded
* adding try catch block
* fix try-catch
* fix numbering for test case factory scenario
* changes to parsing realtimeresults
* first pass at junit xml results
* write out junit test result file
* implement missing API in InternalApiTestHook for project.json migrator
* fix logging test results duration to junit
* start copying log and results file to nuget drop share
* update UwpPackageRefClassLibrary template
* fix project.json migrator uwp e2e test
* fix uwp package ref test
* fix new-item cmdlet to create directory instead of file
* change where to output full log in build drop
* change name of uwpclasslibrary project template
* get screenshot if test times out
* get screenshot only iff running on CI
* fix uwp migrator project json test
* fix nit
* don't queue functional tests via rest api
* fix screen capture type not found exception
* add mono to path explicitly
* echo path in mono and mac and output version
* no need to add mono to path
* No-op fix for init.ps1 execution
ResolvesNuGet/Home#5557.
Another issue preventing `init.ps1` execution related to no-op change.
Earlier PS host relied on dgspec hash comparison to trigger the new
`init.ps1` discovery and run. Now when the hash is not provided it needs
different mechanism for the restore event handling.
This PR changes the restore completed event to contain restore status
and updates the PS host to analyze the restore status before executing
`init.ps1` scripts.
* Fixed the bug. Added e2e tests.
* Fixed bugs. Applied feedback.
* Added missing package
* Add signkey for tool
ResolvesNuGet/Home#5258.
Added tests for basic scenarios per each project model supporting LSL
mode: `packages.config`, `project.json`, `PackageRef`.
Updated E2E test infrastructure to support test extension cmdlets and
running "theories". Added ability to skip tests for specific VS version.
Also added missing templates for unit-test project and native C++ console application.
Addressed PR feedback
* 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.
ResolvesNuGet/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.
2nd pass over NuGet.Client projects.
ResolvesNuGet/Client.Engineering#28
---
Changed the dependency order of PM.VS and PM.UI projects. Moved shared
code into `NuGet.VisualStudio.Common` (former Facade). Normalized
namespaces across all of the projects. Split constants. Split
`EnvDTEProjectUtility`.
New dependency graph of NuGet.Client projects:
```
NuGet.VisualStudio.Common
+---NuGet.VisualStudio
+---NuGet.VisualStudio.Interop
+---NuGet.SolutionRestoreManager.Interop
|
+---NuGet.TeamFoundationServer
|
+---NuGet.PackageManagement.VisualStudio
+---NuGet.VisualStudio.Implementation
+---NuGet.PackageManagement.PowerShellCmdlets
+---NuGet.SolutionRestoreManager
|
+---NuGet.PackageManagement.UI
+---Options
+---NuGet.Console
+---NuGet.Tools
+---NuGet.VisualStudio.Client
```
* Extension API to determine root of NuGet package
ResolvesNuGet/Home#4736.
Extension API to determine root of NuGet package containing a specified
file.
New API provided as evolution of earlier version of
`IVsPathContext` and `IVsPathContextProvider`. Methods were changed to
follow `TryGet...` pattern. Async was dropped from the extension API due
to its incompatibility with interop embeddable interface.
Reference matching is implemented through path segment search trie data
structure.
* Renamed interface method