-
Notifications
You must be signed in to change notification settings - Fork 136
Support the Microsoft.AspNetCore.App shared runtime in source-build #375
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
Comments
@natemcmaster I'm wondering about something. With the Microsoft binaries, the fixed 'Microsoft.AspNetCore.App' is deployed to the production server. This means all production apps use the patched version, even when they are targeting an older version ('2.1.0' in this case). Is that correct? For source-build binaries, the plan for 2.1 is to fetch this package from nuget.org and are deployed with the application. So to get the new bits, the user will need to re-build his application. afaik nuget doesn't understand this is a patch release, so it is also the user's responsibility to manually update the version number in the csproj file. Is that correct? If the user would have specified CC @omajid |
With the Microsoft binaries, the fixed 'Microsoft.AspNetCore.App' is deployed to the production server. This means all production apps use the patched version, even when they are targeting an older version ('2.1.0' in this case). Is that correct?
Yes. Microsoft.AspNetCore.App is a shared framework. Like Microsoft.NETCore.App, the patch rollforward policy applies. Users do not need to re-build the framework-dependent deployments to get this security update.
For self-contained deployments, Microsoft.AspNetCore.App and Microsoft.NETCore.App are in the same boat: users need to re-build and redeploy for security patches. This means updating the NuGet package references for both of these packages to 2.1.*. There is a proposal to fix this in the SDK in the future. See dotnet/designs#36
|
@natemcmaster I noticed rc1 templates no longer have a version for the <PackageReference Include="Microsoft.AspNetCore.App" /> I guess the |
Correct, users should not need to patch their .csproj file. Our intention here is to follow the same behavior of the implicit reference to Microsoft.NETCore.App. The web sdk will pick the version as follows
See https://github.com/aspnet/websdk/blob/0e78949b6c03efc8c257643e4913f4a22e52b653/src/Web/Microsoft.NET.Sdk.Web.Targets/Sdk.DefaultItems.targets#L14-L33 for more details. |
If this doesn't get updated, doesn't that mean source-build will continue to get the 2.1.0 from nuget.org even when patches are available? |
Yes, and this is true for Microsoft.NETCore.App as well. See https://github.com/dotnet/sdk/blob/a8cf9e78eeb14852a7bf97b344731d9734b5d877/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets#L63-L138 |
For Microsoft.NETCore.App that's fine, for not self-contained, it runs on what the system has. For source-build there is no system Microsoft.AspNetCore.App, so it will always select the 2.1.0 from nuget.org. |
We can’t set TargetLatestAspNetCoreRuntimePatch in the same place as MicrosoftNETPlatformLibrary, since TargetLatestAspNetCoreRuntimePatch defines which version of the package is pulled in, and MicrosoftNETPlatformLibrary is set from inside the package.
|
We can probably set TargetLatestAspNetCoreRuntimePatch in the sdk based on similar conditions that end-up setting MicrosoftNETPlatformLibrary? That will only fix the issue when the user is always using the latest sdk. If the sdk is fixed in global.json for compat reasons, he is still using a possibly out-dated version of ASP.NET Core. |
I was wondering how dotnet/designs#36 might solve this, but it is suffering from the same problem:
|
FYI - we are planning on addressing this in 3.0. |
The source-build infrastructure currently does not support Microsoft.AspNetCore.App. See dotnet/source-build#375
Nice work! |
The Microsoft.AspNetCore.App shared runtime (first-released in 2.1) and many of dependencies are not currently supported in source-build. To enable source-build on this shared runtime, we expect the following changes will need to be addressed:
The text was updated successfully, but these errors were encountered: