-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
S.R.TypeExtensions not deployed for net461 application #2035
Comments
This is referenced in the TestUtilities.csproj but for some reason not explicitly copied to the output folder here. Manually adding for now. dotnet/sdk#2035
@jaredpar, this fell off my radar. Are you still seeing this? Did you workaround it? |
Looking now. |
I see the linked commit with the direct ref workaround now. |
OK, here's what's happening:
This condition effectively flows through the P2P graph as packages flow transitively. So CSharpCompilerEmitTest (net461) gets TestUtilities (net461) package references, and not TestUtilities (netstandard1.3) package references. It's confusing in this edge case, but the system is behaving as designed and I think it is the right design. As I try to think about how to specify different behavior that would make this case work, my brain is exploding and I think we'd only end up making things more complicated. IMHO, the best fix on your side would be to remove that condition from from the package reference. I don't see why it's necessary and it is what is preventing the indirect net461 consumers from getting the package reference to flow as needed. |
@nguerrera in your explanation you list CSHarpCompilerEmit as net46 when it is actually net461. Does that impact your analysis? |
It does not. |
I've edited my analysis. I misread $(RoslynPortableTargetFrameworks) |
This is part of me trying to undo the sins of the past. Roslyn compiles with I've been trying to flip us back to the default of In this case I think I got tripped up because I had the following mental model:
I didn't realize how the intermediate project threw a bit of a wrench into this problem. |
The intermediate project tripped me up too. It's very confusing. |
Thanks for the explanation! |
…120.1 (#2035) [main] Update dependencies from dotnet/arcade
Have a situation where System.Reflection.TypeExtensions is not being deployed. Here is the project setup that we have:
The net461 output of CSharpCompilerEmitTests does not contain System.Reflection.TypeExtensions. That is necessary to run and hence some of our unit tests fail.
To repro:
powershell build/scripts/build.ps1 -build -restore
Binaries\Debug\UnitTests\CSharpCompilerEmitTests\net461
Note: In our build
DisableImplicitFrameworkReferences
isfalse
by default and we have a tendancy to use explicit package references (hold over from the project.json days). It's possible this is contributing here but I'm unable to track this down.The text was updated successfully, but these errors were encountered: