Skip to content
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

Dead Ending Microsoft.CSharp Package and Bumping the leftout assembly versions to 5.0.0.0 #2264

Merged
merged 7 commits into from
Jan 29, 2020
Merged

Dead Ending Microsoft.CSharp Package and Bumping the leftout assembly versions to 5.0.0.0 #2264

merged 7 commits into from
Jan 29, 2020

Conversation

Anipik
Copy link
Contributor

@Anipik Anipik commented Jan 28, 2020

@333fred @cston @jaredpar just to check if you guys are okay with the no longer producing the Microsoft.CSharp package.

Fixes #1918

Copy link
Member

@jkoritzinsky jkoritzinsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good from my end (S.R.CS.U)

@jaredpar
Copy link
Member

@333fred @cston @jaredpar just to check if you guys are okay with the no longer producing the Microsoft.CSharp package.

What are the implications of doing this? Also do we still produce the Microsoft.VisualBasic package. That is the VB equivalent of Microsoft.CSharp. I would be suspicious if we're in a state where we're producing one but not the other.

@joperezr
Copy link
Member

What are the implications of doing this? Also do we still produce the Microsoft.VisualBasic package. That is the VB equivalent of Microsoft.CSharp. I would be suspicious if we're in a state where we're producing one but not the other.

No real implications other than having Microsoft.CSharp's only shipping mechanism being via the shared framework. Usually we try to keep OOBs shipping as package in case we want to add API to it after a release, but with Microsoft.CSharp we can't really do that because it is inbox in many places. The only real way to ship new API via a package for Microsoft.CSharp would be to have it target netcoreapp5.0 (since it targets netstandard2.0 today) and add the API to Netcoreapp 5.0 build only. Because we don't have any plans to do that (and even if we did, we can just do that directly on the shared framework) the best thing is just to stop building the package. M.Vb package was removed about a year ago via this PR: dotnet/corefx#34087

Copy link
Member

@ViktorHofer ViktorHofer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ericstj it probably doesn't matter much but should we change the configuration to netcoreapp (latest), away from netstandard2.0?

@ericstj
Copy link
Member

ericstj commented Jan 28, 2020

Agree with @ViktorHofer let's retarget this to netcoreapp5.0 and clean up the configurations.

@@ -41,7 +41,7 @@
01 00 00 00 00
) // false
.hash algorithm 0x00008004
.ver 4:0:5:0
.ver 5:0:0:0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separate issue. We should see about setting define's to flow the actual values from the build-system. That way we get real fileversion and assembly version in ILProj-built assemblies.

Copy link
Member

@ericstj ericstj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please re-target. While you are at it, you can clean up

{
"Name": "Microsoft.CSharp",
"Description": "Provides support for compilation and code generation, including dynamic, using the C# language.",
"CommonTypes": [
"Microsoft.CSharp.RuntimeBinder.Binder",
"Microsoft.CSharp.RuntimeBinder.RuntimeBinderException",
"Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo",
"Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags",
"Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags"
]
},

@joperezr
Copy link
Member

While you are at it, you can clean up

Can we also clean the BaselineVersion of the package index for Microsoft.CSharp:

Copy link
Member

@joperezr joperezr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM other than re-targetting and cleanup.

@jaredpar
Copy link
Member

@joperezr thanks for the explanation. That all makes sense.

What about my questions about Microsoft.VisualBasic though? After reading your explanation I feel more strongly that Microsoft.CSharp and Microsoft.VisualBasic should be consistent here.

@joperezr
Copy link
Member

joperezr commented Jan 28, 2020

I probably shouldn't have used abbreviations for that part of my response above 😄

M.Vb package was removed about a year ago via this PR: dotnet/corefx#34087

M.Vb I meant Microsoft.VisualBasic, so that package has been removed from our build for one year now. I'm not sure why at that time we didn't decide to also remove Microsoft.CSharp package, since I agree with you that these two should always be somewhat consistent.

@jaredpar
Copy link
Member

@joperezr

M.Vb I meant Microsoft.VisualBasic, so that package has been removed from our build for one year now.

Great! This all seem good to me.

Copy link
Member

@jaredpar jaredpar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving the stopping of publishing Microsoft.CSharp as a package. Have not looked specifically at the changes involved here.

@ericstj
Copy link
Member

ericstj commented Jan 29, 2020

Test failure is due to inbox assembly version change. Requires temporary suppression here:
https://github.com/dotnet/runtime/blob/master/src/libraries/pkg/test/frameworkSettings/netcoreapp5.0/settings.targets

Add IgnoredReference for System.Runtime.CompilerServices.Unsafe.

@ghost
Copy link

ghost commented Jan 29, 2020

Hello @Anipik!

Because this pull request has the auto-merge label, I will be glad to assist with helping to merge this pull request once all check-in policies pass.

p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (@msftbot) and give me an instruction to get started! Learn more here.

@Anipik Anipik merged commit 5fca041 into dotnet:master Jan 29, 2020
@Anipik Anipik deleted the FixAssemblVersions branch January 29, 2020 06:37
@jkotas
Copy link
Member

jkotas commented Jan 29, 2020

This is causing majority of PRs to fail with:

Unhandled exception. System.IO.FileLoadException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (0x80131040 (FUSION_E_REF_DEF_MISMATCH))\nFile name: 'System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'\n at 

I am going to submit a revert.

@ericstj
Copy link
Member

ericstj commented Jan 29, 2020

That's interesting seems like a bug in the live-live build. We should figure out what part of the stack is not running on live bits.

jaredpar pushed a commit that referenced this pull request Jan 29, 2020
…assembly versions to 5.0.0.0 (#2264)" (#2344)

This reverts commit 5fca041.
Anipik added a commit that referenced this pull request Feb 4, 2020
…mpilerServices.Unsafe (#2354)

* Dead Ending Microsoft.CSharp Package and Bumping the leftout assembly versions to 5.0.0.0 (#2264)

* deadending Microsoft.Csharp Package and bumping the assembly versions

* retargeting and clean up

* Update Microsoft.CSharp.csproj

* fixing the build

* reference -> projectreference

* adding ignored reference

* removing package references and making R2rDump bin place to a specifc output directory

* remove package reference from R2r dump as well

* adding comment and targeting netstandard2.0

* adding back package references for netstandard lib build

* adding back baseline version for consistency
@ghost ghost locked as resolved and limited conversation to collaborators Dec 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
8 participants