-
Notifications
You must be signed in to change notification settings - Fork 136
Web app user experience is broken #456
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
ASP.NET Core is not source-buildable yet, so this is expected #375. https://aka.ms/dotnet-download doesn't show Microsoft.AspNetCore.App yet because we haven't RTM-ed the first version. Presumably the instructions look similar to https://www.microsoft.com/net/download/linux-package-manager/fedora26/runtime-2.1.0-preview2, but install the cc @leecow @rowanmiller - it looks like ASP.NET Core runtime installers are not yet listed on https://www.microsoft.com/net/download/dotnet-core/runtime-2.1.0-preview2. How can we add a section for this? |
Downloads are driven by https://github.com/dotnet/core/blob/master/release-notes/releases.json. Work with @leecow to get the missing entries added. |
@natemcmaster We are planning on using source-build on RHEL. There are are a few major issues with the suggestions that I can see.
cc @aslicerh @tmds @Bob-Davis It looks like ASP.NET Core will not work out of the box from source-build. And will require users to install extra bits by hand, to possibly work at all. |
@natemcmaster was just looking at the file and I see the entries there and the corresponding links on the site. Are there some that are missing? |
That would completely break .NET Core support in OpenShift. AFAIK this is supposed to work similar as 2.0 for source-build binaries, that is: the package comes from nuget.org when the user restores his app (https://www.nuget.org/packages/Microsoft.AspNetCore.App/2.1.0-preview2-final) |
@rowanmiller yes, we're missing a few download links on the list. We also have Alpine Linux .tar.gz file downloads. Is https://github.com/dotnet/core the best place to file an issue for this? Also, sorry if I wasn't clear, but I was trying to ask how we can get this page to show that users need to run @omajid may we should start a mail thread on this subject. ASP.NET Core has never been source-buildable, and as described in #375, it is considerable effort to enable it. We don't have that work scheduled for 2.1.0 RTM. If I remember right, you worked around this in 2.0.x by disabling the ASP.NET Core runtime store. We'll have to investigate if a similar workaround is available now that we are shipping aspnet as a shared framework. |
I would echo what @tmds stated - the expectation here is that it would work how 2.0 worked, and pull the package(s) from nuget. This sounds like this point release is breaking the expected functionality. |
To be clear, what I meant by
is that in 2.0, this was the story.
In 2.1, the issue at hand is this
|
Yes, we are missing the equivalent of 2.0 'PublishWithAspNetCoreTargetManifest=false'. |
The shared framework can be opted out of by having the templates explicitly set Microsoft.NETCore.App as the platform package. |
@DamianEdwards how do you csproj that? |
Presumably you can do that by setting this: <PropertyGroup>
<MicrosoftNETPlatformLibrary>Microsoft.NETCore.App</MicrosoftNETPlatformLibrary>
</PropertyGroup> Disclaimer: haven't tried it myself. |
And setting Would it be possible to make this a single property we can set (like we were setting |
That's the theory. It instructs the SDK which NuGet package represents the shared framework.
I believe |
We are unconditionally setting My use-case is focusing on the |
@natemcmaster Passing Any thoughts on how we can make |
@livarcocc and @KathleenDollard for thoughts on |
There are a range of options, from ones requiring explicit user action to overriding the default. My preference would be to add a condition to detect when the aspnet sharedfx is unavailable.
<!-- In the source-build SDK -->
<_AspNetSharedFxIsAvailable>false</_AspNetSharedFxIsAvailable>
<!-- In Microsoft.AspNetCore.App.nupkg -->
<MicrosoftNETPlatformLibrary Condition="'$(_AspNetSharedFxIsAvailable)' != 'false'">Microsoft.AspNetCore.App</MicrosoftNETPlatformLibrary>
Thoughts @JunTaoLuo @DamianEdwards @muratg ? |
How would that work if the customer then installs the MS-produced shared FX? |
If we went with the "Detect source-built SDK" option, we could make detection smart enough to know when Microsoft.AspNetCore.App is installed. But even if we didn't, user's apps will still run...they will just be sub-optimal and bulky. |
@natemcmaster thank you for providing some options.
That is the best option.
And imo this is also a good option. |
@DamianEdwards, @natemcmaster, what option are we going for? |
We haven't made a decision yet. I think we have scheduled time to discuss this and other aspnet related things tomorrow. |
Thanks for the update! |
I just realized the lack of a shared framework also impacts global tools. I've checked the tools that ship out-of-the-box with Microsoft sdk ( I don't think it is feasible to solve this for 2.1 in general. We definitely like tools that come with the Microsoft installation to be able to work out-of-the-box on source-build (after manual Side-note: the |
The tools that you listed ( Two options:
|
@natemcmaster afaik it was already decided we'd consume these from nuget.org. So my side-note was mostly to point out there are no preview2 packages for the tools and there is no dotnet-ef tool. If some of this can be in source-build, that would be nice off course. |
We had another meeting today and I think we can squeeze in a few last minute changes. They won't be in 2.1.0-rc1, but we believe we can land them before 2.1.0. The planned work is described here aspnet/Universe#1125 and here aspnet/Universe#1126. In a nutshell, we'll disable the shared framework trimming in the SDK and ship global tools to nuget.org so they are available via |
@natemcmaster Great!! This will give the best experience for source-build .NET Core users to deal with 'missing bits'! |
I found something I don't understand about source-build. Does We deliver the cc @dseefeld |
@natemcmaster Yes, |
Interesting...I thought prebuilt packages weren't allowed. What are the rules for including prebuild packages? Any reason we couldn't include other packages too, like the ones that contain aspnet console tools? |
My guess is because the templates package doesn't actually include any binaries, just text files, so it's essentially just source. |
For 2.0 we are in fact unzipping the prebuild package and patching the templates (adding PublishWithAspNetCoreTargetManifest=false). |
Ok, I've completed all the work we are planning to do for 2.1.0. This won't be in rc1, but should be in the rtm build. See aspnet/Universe#1131, aspnet/Universe#1130, and dotnet/cli#9178. I believe there is at least one other item affecting global tools acquisition, but let's use https://github.com/dotnet/cli/issues/9114 to track that. That's not specific to aspnet tools. This should solve the scenario as described in the original issue. If it doesn't, we can re-open for more investigation. |
When doing a smoke test on the built source-build cli, the user experience for building a web app is broken.
Steps to repro:
The results of dotnet run are:
This message seems to indicate that I need to download Microsoft.AspNetCore.App, but I don't see that it's available separately. It is only available if you download dotnet core.
There should be some way to acquire just the aspnet bits.
The text was updated successfully, but these errors were encountered: