The Mono.Cecil dependency is still in beta, and is lacking it's own in-built AssemblyResolver. I have implemented the fairly basic ConventionalAssemblyResolver for Conventional's needs until this gap is filled.
Given we have a dependency in beta, Conventional 2.0 will have a -beta{version} version indicator until Cecil gets a full release.
Conventional.Net45 has been collapsed into the core Conventional project - no need to keep them separate any more - woohoo!
AssemblyConventionSpecification conventions has had to change shape due to there now being two seperate csproj formats to support. These conventions now need a IsSatisfiedByLegacyCsprojFormat to be specified along with IsSatisfiedBy. Where appropriate previously contributed assembly conventions were migrated and the existing implementation moved into IsSatisfiedByLegacyCsprojFormat.
Conventional.Roslyn gets a targeting bump to netframework461 but remains full-framework due to the dependency on Microsoft.CodeAnalysis.CSharp.Workspaces. It will be net-standardized once it's dependencies are. If the dependency tree is small enough it may even get merged into the core Conventional project.
A whole HEAP of cleanup of namespaces, C#6-ifying, etc has been undertaken.
KnownPaths migrated from using AppDomain to AppContext to find solution root, also made its location functionality a little more flexible to cater for different test binary locations.
Probably heaps more stuff I've forgotten about.
Anyone who wants to cast their 👀 over this prior to :shipit: - any and all feedback is welcome!
This PR migrates Conventional to
netstandard2.0
.Interesting bits:
Mono.Cecil
dependency is still in beta, and is lacking it's own in-built AssemblyResolver. I have implemented the fairly basicConventionalAssemblyResolver
for Conventional's needs until this gap is filled.-beta{version}
version indicator until Cecil gets a full release.Conventional.Net45
has been collapsed into the coreConventional
project - no need to keep them separate any more - woohoo!AssemblyConventionSpecification
conventions has had to change shape due to there now being two seperatecsproj
formats to support. These conventions now need aIsSatisfiedByLegacyCsprojFormat
to be specified along withIsSatisfiedBy
. Where appropriate previously contributed assembly conventions were migrated and the existing implementation moved intoIsSatisfiedByLegacyCsprojFormat
.Conventional.Roslyn
gets a targeting bump tonetframework461
but remains full-framework due to the dependency onMicrosoft.CodeAnalysis.CSharp.Workspaces
. It will be net-standardized once it's dependencies are. If the dependency tree is small enough it may even get merged into the coreConventional
project.KnownPaths
migrated from usingAppDomain
toAppContext
to find solution root, also made its location functionality a little more flexible to cater for different test binary locations.Anyone who wants to cast their 👀 over this prior to :shipit: - any and all feedback is welcome!