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

RuntimeFrameworkVersion for 3.0 apps #2792

Closed
natemcmaster opened this issue Jan 7, 2019 · 7 comments
Closed

RuntimeFrameworkVersion for 3.0 apps #2792

natemcmaster opened this issue Jan 7, 2019 · 7 comments
Assignees
Milestone

Comments

@natemcmaster
Copy link
Contributor

Filing on behalf of @DamianEdwards @davidfowl

It appears the RuntimeFrameworkVersion property is no longer honored in netcoreapp3.0 projects. If our recollection is correct, the plan was to use this property so customers could define the versions used by FrameworkReference.

Open question: how to handle the difference between shared framework versions. After RTM, we should (in theory) always patch all in-box shared frameworks. But during per-release, however, these versions will rarely align.

@nguerrera nguerrera added this to the 3.0.1xx milestone Jan 9, 2019
@nguerrera
Copy link
Contributor

@dsplaisted

@nguerrera
Copy link
Contributor

I think we should consider honoring metadata on FrameworkReference of some kind. You could then use Update in msbuild to set it. I think this mostly comes up internally where we want to mix different daily builds vs official releases where the defaults are what you want. We should look at usage of RuntimeFrameworkVersion to validate that. If so, I don't think this needs to be any friendlier than that.

You also probably want control over the targeting pack version and the runtime pack version independently too. For example, there won't necessarily be a 3.0.n targeting pack, but you might want to force 3.0.n runtime pack if 3.0.(n+1) accidentally broke you. But in prerelease the api changes all the time so you want control over the targeting pack too.

@dsplaisted
Copy link
Member

Sounds good. Note that ASP.NET shouldn't be blocked today, you should be able to do something like the following to select a specific version of the runtime and targeting packs:

<ItemGroup>
    <KnownFrameworkReference Update="Microsoft.AspNetCore.App">
        <TargetingPackVersion Condition="'%(TargetFramework)' == 'netcoreapp3.0'">3.0.0-preview-myversion</TargetingPackVersion>
        <DefaultRuntimeFrameworkVersion Condition="'%(TargetFramework)' == 'netcoreapp3.0'">3.0.0-preview-myversion</DefaultRuntimeFrameworkVersion>
        <LatestRuntimeFrameworkVersion Condition="'%(TargetFramework)' == 'netcoreapp3.0'">3.0.0-preview-myversion</LatestRuntimeFrameworkVersion>
    </KnownFrameworkReference>
</ItemGroup>

@dsplaisted dsplaisted self-assigned this Jan 9, 2019
@davidfowl
Copy link
Member

@dsplaisted Yes, it's horrific

@dsplaisted
Copy link
Member

@davidfowl What scenarios is this necessary in? Does the ugliness need to go in normal customer projects, or is it mainly just for ASP.NET Core internal repos?

@davidfowl
Copy link
Member

For us wanting to use CI builds. So we can test the product before ask mode 😬

@dsplaisted
Copy link
Member

@natemcmaster @davidfowl This is fixed in #2887.

You can set the RuntimeFrameworkVersion metadata on a FrameworkReference and it will apply to only that shared framework, or you can use the property and it will apply to all shared frameworks (that don't have the metadata on the FrameworkReference).

If neither of those are set, then you can set TargetLatestRuntimePatch, either as metadata on a given FrameworkReference, or as a property to apply to all shared frameworks, to control whether the shared frameworks roll forward to the latest patch.

wli3 pushed a commit that referenced this issue Feb 7, 2020
…910.2 (#2792)

- Microsoft.NET.Sdk.Web - 3.0.100-rc2.19460.2
wli3 pushed a commit that referenced this issue Feb 7, 2020
…elease/3.0.1xx-to-release/3.1.1xx

* upstream/release/3.0.1xx: (231 commits)
  [release/3.0.1xx] Update dependencies from microsoft/vstest (#2809)
  Update dependencies from https://github.com/dotnet/cli build 20190911.11 (#2823)
  Update dependencies from https://github.com/aspnet/websdk build 20190911.2 (#2816)
  Update dependencies from https://github.com/dotnet/cli build 20190911.1 (#2807)
  Update dependencies from https://github.com/dotnet/cli build 20190910.6 (#2803)
  Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190910.12 (#2801)
  Update dependencies from https://github.com/dotnet/cli build 20190910.5 (#2799)
  Update dependencies from https://github.com/aspnet/websdk build 20190910.5 (#2798)
  Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190910.5 (#2797)
  Update dependencies from https://github.com/dotnet/arcade build 20190910.3 (#2796)
  Update dependencies from https://github.com/dotnet/cli build 20190910.4 (#2794)
  Update dependencies from https://github.com/aspnet/websdk build 20190910.4 (#2795)
  [release/3.0.1xx] Update dependencies from aspnet/AspNetCore-Tooling (#2759)
  Update dependencies from https://github.com/aspnet/websdk build 20190910.2 (#2792)
  Update dependencies from https://github.com/dotnet/core-setup build 20190910.02
  Update dependencies from https://github.com/dotnet/arcade build 20190909.10 (#2788)
  Update dependencies from https://github.com/dotnet/core-setup build 20190909.40 (#2781)
  Update dependencies from https://github.com/Microsoft/msbuild build 20190906.2 (#2779)
  Update dependencies from https://github.com/dotnet/core-setup build 20190909.33 (#2775)
  Update dependencies from https://github.com/dotnet/cli build 20190909.10 (#2771)
  ...

Conflicts:
eng/Version.Details.xml
eng/Versions.props
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants