Hacker Timesnew | past | comments | ask | show | jobs | submit | JamesNK's commentslogin

Here you go:

  <Project Sdk="Microsoft.NET.Sdk">
  
    <PropertyGroup>
      <TargetFramework>net6.0</TargetFramework>
      <Nullable>enable</Nullable>
      <ImplicitUsings>enable</ImplicitUsings>
      <OutputType>exe</OutputType>
    </PropertyGroup>
  
    <ItemGroup>
      <FrameworkReference Include="Microsoft.AspNetCore.App" />
    </ItemGroup>
  
  </Project>
Just create an empty ASP.NET Core project, change the SDK, add a FrameworkReference and a OutputType.

Read the console args and configure the web app with a port as desired.


Thanks! This is what I was looking for (not anymore, sorry switched to a different language/ecosystem for this project).

This still begs the question, or my original point still stands—why framework reference vs. nuget reference? I'm sure there's a perfectly rationale explanation, but this in itself, having at least two "official" ways of managing dependencies (framework reference vs. package reference on nuget), it's kind of a "code smell" imo.


Because ASP.NET Core is a framework that is installed with .NET. It isn’t a set of Nuget packages.

Why? .NET Core 1.x tried making everything a Nuget package and it was a disaster. ASP.NET is big which meant a huge number of dependencies, easy to create conflicts, long restore and build times.

It was much better to just include ASP.NET Core in the box with .NET and simplify it down to a single reference. And most people use the web SDK which does it for you so they don't even need that.


What about the option to just make everything asp.net one single nuget package? And how come other ecosystems/languages don't have this issue? What's the difference?

The other question is, why isn't what you posted the default, but defaulting to this <Project Sdk=...>? To me, it's a lot more intuitive, signaling that each project can have multiple framework references, vs. just one SDK attribute.


>What about the option to just make everything asp.net one single nuget package? And how come other ecosystems/languages don't have this issue? What's the difference?

It's no different to e.g. create-react-app vs npm install react.


You're searching for ways to make things more difficult than they need to be.

Make the simple easy. Make the complex possible.


Disagree here. This is where I would quote the principles of two other language.

From Python: have one way of doing things

From Go: explicit is bette than implicit.

Is Sdk=... is just a short cut to pull in a handful of framework references? Or are there actually more things happening under the hood?

https://hackertimes.com/item?id=30673710


sigh I can't help it...

Python really isn't a great choice for making your case. "Have one obvious way of doing things" has become an ironic meme since forever, and toolchaining and dependency management has traditionally been a hot mess (yes, even with pip and virtualenv, just not the total clusterfudge it was before. And don't get me started on pipenv.), and only gotten better recently with 3rd party tools like poetry, or even conda.


The error message is sent as a HTTP trailing header. Their server or client has a header size limit of 8kb.


It is strange that you couldn't find the empty web template. Every version of ASP.NET Core has come with one. Empty is the first option in the "Create a new ASP.NET Core web application" dialog in VS2019, and "dotnet new web" creates an empty website via the command line.

What did you need to do to create an empty website?

Disclaimer: I work on ASP.NET Core


The most minimalist ASP.NET Core template I could find made it too difficult to create a "page" with some code-behind.

I could create a CSHTML page and inline expressions worked, but I couldn't convince it to execute anything from a matching cs class.

I did google this, and it's not like I hadn't written Razor syntax pages before, but that was a few years ago and my memory was fuzzy.

What I found was that Razor pages are now part of any number of very similar sounding but wildly different frameworks, and code samples for one do literally nothing in the other. It's not even self-evident which framework I'm "in" for any given project. Half of it seems to be just convention, the other half is explicit configuration, and it's all version specific.

I tried to go back to classic ASP.NET, thinking that that's actually a better fit for the type of legacy web app server testing that I need to do. That's where I found the new project templates that pull in more code by default into an "empty" project than I've written in the past half a decade.


> The most minimalist ASP.NET Core template I could find made it too difficult to create a "page" with some code-behind.

The minimalist projects don't do "code-behind" at all.


"self-evident which framework I'm "in" for any given project"

Has that changed? It's in the project properties in Visual Studio where I think it's been for as long as I can remember?

NB I've been using .Net for about 15 years and quite happily using .Net Core 3.1


The future of Silverlight and Flash died when mobile phones rejected browser plugins. No amount of good choices from MS/Adobe would change that.


Wasn't that the HTML5 which predicated the Flash video demise? Not sure if it affected Silverlight to the same extent.

Yet, the other day I saw another Flash update pop up on Win 10 laptop in Edge. I don't even know why it's still needed.... What a strange ritual (now it's pushidng McAfee along).

Edit: FYI, quoting from the Wired, 2017:

Adobe itself acknowledged the transition [from Flash over to HTML5], though a bit less bluntly:

“As open standards like HTML5, WebGL and WebAssembly have matured over the past several years, most now provide many of the capabilities and functionalities that plugins pioneered and have become a viable alternative for content on the web.”

https://www.wired.com/story/adobe-finally-kills-flash-dead/


They were dying before that. Open web standards were a big thing for anyone doing front-end dev then. iphone not supporting flash was just another nail in the coffin... turned out to be a big nail.


> gRPC encoded data is actually not tightly coupled to HTTP/2 frames.

The headers frame, and the capability to have headers before AND after content is a requirement. gRPC requires trailing headers for the status code of the call. Trailing headers frame is a new concept in HTTP/2.

gRPC-Web supports HTTP/1.1 and browsers. It is able to do that by encoding the status into the end of the response body. However gRPC-Web is a different spec.

If HTTP/3+QUIC supports the same features of HTTP/2 then gRPC should work on it. There might be a HTTP/3 specific spec for details around the management of a HTTP/3 connection, but gRPC headers, message content, and proto contracts shouldn't need to change. Take what I say with a grain of salt because I haven't looked closely at HTTP/3+QUIC yet.


A headers frame before content is just equivalent so „sending headers“, since Http/2 also only allows to send headers once per Stream unless those are informational headers. In the same fashion, sending a headers frame after content is equivalent to „sending trailing headers“ - which are allowed to be sent at most once after the body (which may be empty).

Therefore the fact that there is a frame involved doesn’t really matter.

HTTP/3 doesn’t change the HTTP semantics: Peers are sending 0-N informational headers, 1 set of request headers, a stream of body data, and 0-1 set of trailing headers. Therefore gRPC should run fine over it at long as the underlying HTTP library exposes all those necessary features.


Developer on gRPC for .NET here.

gRPC client requires HTTP/2, and HttpClient (the .NET library for making HTTP requests) didn't previously support HTTP/2. The gRPC client actually supports netstandard2.1. Any .NET implementation that supports HTTP/2 should support running the gRPC client.

Kestrel (the .NET web server) already supported HTTP/2 but it required some new features in .NET 3.0 to fully support hosting gRPC services.


Stardock has acted like scum through the whole ordeal. On top of the lawsuit against P/R...

1. They attempted to trick the UQM project leadership into signing a document that said Stardock owned the rights to everything in Star Control II. Stardock would then "generously" license rights back to the UQM project as "protection". In reality it would put the free game under Stardock's thumb[1]

2. There are leaked conversations of the owner of Stardock labeling the UQM forum and star-control.com as hostile to his company and how he is going to shut them down

3. There are two subreddits for Star Control. The fan owned /r/starcontrol and the Stardock owned /r/StarControlOfficial. An unknown reddit account took over /r/starcontrol under strange circumstances and sowed havoc for a couple of days before reddit intervened and removed the new mod. There are theories that Stardock was behind it.

[1] http://forum.uqm.stack.nl/index.php?topic=7396.0


A stock price doesn't reflect how profitable you are today, it reflects how profitable you'll be tomorrow.


He isn't criticizing the title, it's just a hot take on how the nature of starting a business has changed.


And he's wrong. The 80s was the era of cheap cash. A lot cheaper than now. And people have been getting their starts on VC for decades.


For the average person, meaning someone getting a business loan or mortgage, this just isn't true. Take a look at historical bank rates. They're much cheaper now than the 80's.


Correct.

https://www.jpmorganchase.com/corporate/About-JPMC/historica...

The 1980s may have been a time when some borrowers had easier time getting credit at all, but it wasn't a time of “cheap cash”.


Premium feature: reserve a set of lucky dice for your roles. $5/month


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: