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
Remove ref Projects #2414
base: main
Are you sure you want to change the base?
Remove ref Projects #2414
Conversation
Not sure why most of the test runs passed, I'm running into unexpected build issues after rebasing. Currently working through those issues, specifically, I can't seem to get standard2.0 and standard2.1 to generate ref assemblies. Might not be an important issue since we're looking to drop standard2.0 and standard2.1 support. But I'll see what I can do. |
People using powershell or a few other situations where they don't use a compile step quite often end up trying to use the NotSupported version of the binaries because they haven't done a nuget restore. If you can be certain that the behaviour is maintained which prevents them using wrong-platform assembly versions in that situation then removing it is probably ok. |
Hey @Wraith2, thanks for that feedback - I'd like to look into this a bit more to double check it's not an issue. I'm not 100% sure how to reproduce the scenario you mentioned. Is there an example you could provide me? Would this be like eg, building a project with the nuget, but replacing the implementation binary with the ref binary in the output folder? |
Just search this repo for issues with powershell in and you should find something |
Backing this PR out to a draft since there's a couple more issues with it. Working on finding a good solution to them. |
…s in the output director
Fix locations of ref files in the nuspec
58a6d53
to
aaaa508
Compare
Description: This is a relatively big change, so hold onto your hats. Maintaining separate ref implementations of SqlClient has probably been fairly tedious, complicated the build process, and these days just isn't necessary. The goal of having the ref projects was to generate a reference assembly that exposed the API without implementation, for compilation as well as intellisense-style code assistance. csproj projects have support for generating both reference assemblies and xml files for intellisense. Thus, it shouldn't be necessary to maintain a separate ref project when the implementation projects can generate the reference assemblies. This PR attempts to remove the ref projects while maintaining generating reference assemblies.
The good news:
The less good news:
<exclude />
to any xmldocs that should not be included in the output. This tag is non-standard, but will be included in the xml and can be post processed to remove the element from the xml fileMicrosoft.Data.SqlClient-withoutref2.txt
Microsoft.Data.SqlClient-withref.txt
Testing: