- I'm not sure if this is only for .Net Standard projects
- I'm not sure if this is VS2019 related only
Workstation consist of a pretty big framework solution which includes .net framework, .net standard & .net core projects, ALL referenced by project file.
CI will convert all project references from .csproj to .DLL references before commencing staged builds.
This has all been working well for years but once in a while I'll run into this issue where there would be a reference to an unreferenced class that builds fine in the IDE but not on the build server. The project in question would have a type reference from an unreferenced project and this seems to be resolved by MSBuild/IDE as long as you have a project reference referencing the unreferenced project containing the type.
Ref1.proj --reference --> RefDeep.proj
Prog.proj --reference --> Ref1.proj
Prog.proj --use---------> RefDeep.Type1 (Okay)
Is this some kind of new feature? Indirect referencing? What I'm really looking for is a way to disable this 'magic' reference resolution so I can fix the references before the stuff ends up on the build server.
--- Edit --- CI - Continious Integration using TeamCity Because it's a framework almost all projects are part of the solution so refactoring be done at any level and tests can be run locally. Build server on the other hand may make some additional changes to individual projects. Obfuscation/Cross-Cutting Concerns as an example.