3F / MvsSln

🧩 Customizable VisualStudio .sln parser with project support (.vcxproj, .csproj., …). Pluggable lightweight r/w handlers at runtime, and more …
MIT License
135 stars 27 forks source link

XProjectEnv base, MSBuild Properties helpers, and other relevant changes due to integration with vsSolutionBuildEvent #17

Closed 3F closed 4 years ago

3F commented 4 years ago

Introduces XProjectEnv (spitted IsolatedEnv as the base but without IDisposable)

+ Also adds an regular MSBuild Properties and other related changes for convenient work with this properties like extension method GetFileProperties, AddOrUpdate etc.

Part of https://github.com/3F/vsSolutionBuildEvent/pull/53 WIP

3F commented 4 years ago

IsolatedEnv still implements IDisposable that helps to release loaded projects as before.

But for some cases we don't need to dispose this at all.

The case is, for example, vssbe. Where EnvDTE can load any other project itself while loading something through EnvDTE.Project collection.

Therefore, we also need to provide like XProjectEnv base for work with this environment 'as is'. Means that user can also consider some additional resource releasing later.

Please note, the default behavior for Sln wrapper still is IsolatedEnv. That is, this is compatible changes.