NuGet 6.5 is included in Visual Studio 2022 and .NET 7.0 out of the box. You can also download NuGet 6.5 for Windows, macOS, and Linux as a standalone executable.Tired of the sour taste of managing packages? NuGet 6.5 brings a new flavor of seamless central package management,The post Announcing NuGet 6.5 – The Sweetest Way to Manage Your Packages appeared first on The NuGet Blog.
Last year, we brought a new feature to improve the way you assess target framework compatibility of a NuGet package through a new “Frameworks” tab.Today, we are announcing a new feature that will allow you to search by a target framework on NuGet.org.The post Introducing Search By Target Framework on NuGet.org appeared first on The NuGet Blog.
Mastodon is a free, open-source social networking service that is decentralized and distributed. It was created in 2016 as an alternative to centralized social media platforms such as Twitter and Facebook. One of the key features of Mastodon is the use of the WebFinger protocol, which allows users to discover and access information about other users on the Mastodon network. WebFinger is a simple HTTP-based protocol that enables a user to discover information about other users or resources on the internet by using their email address or other identifying information. The WebFinger protocol is important for Mastodon because it enables users to find and follow each other on the network, regardless of where they are hosted. WebFinger uses a "well known" path structure when calling an domain. You may be familiar with the robots.txt convention. We all just agree that robots.txt will sit at the top path of everyone's domain. The WebFinger protocol is a simple HTTP-based protocol that enables a user or search to discover information about other users or resources on the internet by using their email address or other identifying information. My is first name at last name .com, so...my personal WebFinger API endpoint is here https://www.hanselman.com/.well-known/webfinger The idea is that... A user sends a WebFinger request to a server, using the email address or other identifying information of the user or resource they are trying to discover. The server looks up the requested information in its database and returns a JSON object containing the information about the user or resource. This JSON object is called a "resource descriptor." The user's client receives the resource descriptor and displays the information to the user. The resource descriptor contains various types of information about the user or resource, such as their name, profile picture, and links to their social media accounts or other online resources. It can also include other types of information, such as the user's public key, which can be used to establish a secure connection with the user. There's a great explainer here as well. From that page: When someone searches for you on Mastodon, your server will be queried for accounts using an endpoint that looks like this: GET https://${MASTODON_DOMAIN}/.well-known/webfinger?resource=acct:${MASTODON_USER}@${MASTODON_DOMAIN} Note that Mastodon user names start with @ so they are @username@someserver.com. Just like twiter would be @shanselman@twitter.com I can be @shanselman@hanselman.com now! So perhaps https://www.hanselman.com/.well-known/webfinger?resource=acct:FRED@HANSELMAN.COM Mine returns{ "subject":"acct:shanselman@hachyderm.io", "aliases": [ "https://hachyderm.io/@shanselman", "https://hachyderm.io/users/shanselman" ], "links": [ { "rel":"http://webfinger.net/rel/profile-page", "type":"text/html", "href":"https://hachyderm.io/@shanselman" }, { "rel":"self", "type":"application/activity+json", "href":"https://hachyderm.io/users/shanselman" }, { "rel":"http://ostatus.org/schema/1.0/subscribe", "template":"https://hachyderm.io/authorize_interaction?uri={uri}" } ]}This file should be returned as a mime type of application/jrd+jsonMy site is an ASP.NET Razor Pages site, so I just did this in Startup.cs to map that well known URL to a page/route that returns the JSON needed.services.AddRazorPages().AddRazorPagesOptions(options =>{ options.Conventions.AddPageRoute("/robotstxt", "/Robots.Txt"); //i did this before, not needed options.Conventions.AddPageRoute("/webfinger", "/.well-known/webfinger"); options.Conventions.AddPageRoute("/webfinger", "/.well-known/webfinger/{val?}");});then I made a webfinger.cshtml like this. Note I have to double escape the @@ sites because it's Razor.@page@{ Layout = null; this.Response.ContentType = "application/jrd+json";}{ "subject":"acct:shanselman@hachyderm.io", "aliases": [ "https://hachyderm.io/@@shanselman", "https://hachyderm.io/users/shanselman" ], "links": [ { "rel":"http://webfinger.net/rel/profile-page", "type":"text/html", "href":"https://hachyderm.io/@@shanselman" }, { "rel":"self", "type":"application/activity+json", "href":"https://hachyderm.io/users/shanselman" }, { "rel":"http://ostatus.org/schema/1.0/subscribe", "template":"https://hachyderm.io/authorize_interaction?uri={uri}" } ]}This is a static response, but if I was hosting pages for more than one person I'd want to take in the url with the user's name, and then map it to their aliases and return those correctly. Even easier, you can just use the JSON file of your own Mastodon server's webfinger response and SAVE IT as a static json file and copy it to your own server! As long as your server returns the right JSON from that well known URL then it'll work.So this is my template https://hachyderm.io/.well-known/webfinger?resource=acct:shanselman@hachyderm.io from where I'm hosted now.If you want to get started with Mastodon, start here. https://github.com/joyeusenoelle/GuideToMastodon/ it feels like Twitter circa 2007 except it's not owned by anyone and is based on web standards like ActivityPub. Hope this helps! © 2021 Scott Hanselman. All rights reserved.
I have been blogging here for the last 20 years. Every Tuesday and Thursday, quite consistently, for two decades. But last year, without planning it, I got tired and stopped. Not sure why. It didn't correspond with any life events. Nothing interesting or notable happened. I just stopped. I did find joy on TikTok and amassed a small group of like-minded followers there. I enjoy my YouTube as well, and my weekly podcast is going strong with nearly 900 (!) episodes of interviews with cool people. I've also recently started posting on Mastodon (a fediverse (federated universe)) Twitter alternative that uses the ActivityPub web standard. I see that Mark Downie has been looking at ActivityPub as well for DasBlog (the blog engine that powers this blog) so I need to spend sometime with Mark soon. Being consistent is a hard thing, and I think I did a good job. I gave many talks over many years about Personal Productivity but I always mentioned doing what "feeds your spirit." For a minute here the blog took a backseat, and that's OK. I filled that (spare) time with family time, personal projects, writing more code, 3d printing, games, taekwondo, and a ton of other things. Going forward I will continue to write and share across a number of platforms, but it will continue to start here as it's super important to Own Your Words. Keep taking snapshots and backups of your keystrokes as you never know when your chosen platform might change or go away entirely. I'm still here. I hope you are too! I will see you soon. Related Links: Do they deserve the gift of your keystrokes? Do you have a digital or social media will?© 2021 Scott Hanselman. All rights reserved.
NuGet 6.4 is included in Visual Studio 2022 and .NET 7.0 out of the box. You can also download NuGet 6.4 for Windows, macOS, and Linux as a standalone executable.NuGet 6.4 is one of many releases in our .NET unification journey.The post Announcing NuGet 6.4 – Signed, Central, Delivered appeared first on The NuGet Blog.
NuGet has gone through a lot of changes over the last 10 years. From the package manager console, standalone NuGet.exe, and integration of NuGet into the .NET SDK, we have always relied on the open source community to help evolve and advance NuGet to meet the needs of the .NET ecosystem.The post NuGet Season of Giving appeared first on The NuGet Blog.
NuGet 6.3 is included in Visual Studio 2022 and .NET 6.0 out of the box. You can also download NuGet 6.3 for Windows, macOS, and Linux as a standalone executable.NuGet 6.3 is one of many releases in our .NET unification journey.The post Announcing NuGet 6.3 – Transitive Dependencies, Floating Versions, and Re-enabling Signed Package Verification appeared first on The NuGet Blog.
We heard from you that direct dependencies are easy to track, but that you struggle with tracking transitive dependencies. We want to make that easier for the day-to-day management of your NuGet packages in Visual Studio.To help you track transitive dependencies and remediate vulnerabilities quickly with SDK-style projects,The post Introducing Transitive Dependencies in Visual Studio appeared first on The NuGet Blog.