# Kzu's Today I Learned

## Today I Learned

- [Today I Learned](https://til.cazzulino.com/readme.md): This is the site where I share little snippets and tidbits of learnings that don't deserve a full blog post on https://cazzulino.com, grouped by areas, rather than by date.
- [How to get messages logged in dotnet build output](https://til.cazzulino.com/dotnet/how-to-get-messages-logged-in-dotnet-build-output.md): \<Message Importance="high" Text="Gone?!" /> gone?
- [How to emit descriptions for exported JSON schema using JsonSchemaExporter](https://til.cazzulino.com/dotnet/how-to-emit-descriptions-for-exported-json-schema-using-jsonschemaexporter.md)
- [NuGet](https://til.cazzulino.com/dotnet/nuget.md): NuGet-related learnings
- [Suppress dependencies when packing](https://til.cazzulino.com/dotnet/nuget/suppress-dependencies-when-packing.md)
- [Hide contentFiles from your nuget packages](https://til.cazzulino.com/dotnet/nuget/hide-contentfiles-from-your-nuget-packages.md)
- [Packaging transitive analyzers with NuGet](https://til.cazzulino.com/dotnet/nuget/packaging-transitive-analyzers-with-nuget.md)
- [How to add search to static nuget feed](https://til.cazzulino.com/dotnet/nuget/use-dotnet-vs-to-get-developer-prompt-in-terminal.md)
- [Populate RepositoryBranch in CI for NuGet Pack](https://til.cazzulino.com/dotnet/nuget/populate-repositorybranch-in-ci-for-nuget-pack.md)
- [Ignore folder from dotnet-format](https://til.cazzulino.com/dotnet/ignore-folder-from-dotnet-format.md)
- [Accessing Tor .onion URLs via HttpClient with .NET6](https://til.cazzulino.com/dotnet/accessing-tor-via-httpclient-with-.net6.md)
- [Installing .NET 5.0 on Raspberry Pi 4](https://til.cazzulino.com/dotnet/installing-.net-5.0-on-raspberry-pi-4.md)
- [Quickly check C# compiler and language version](https://til.cazzulino.com/dotnet/quickly-check-c-compiler-and-language-version.md)
- [Disable diagnostic analyzers for entire folder/submodules](https://til.cazzulino.com/dotnet/disable-diagnostic-analyzers-for-entire-folder-submodules.md)
- [Persisting output files from source generators](https://til.cazzulino.com/dotnet/persisting-output-files-from-source-generators.md)
- [Use C# 9 records in non-net5.0 projects](https://til.cazzulino.com/dotnet/use-c-9-records-in-non-net5.0-projects.md)
- [AsyncLocal never leaks and is safe for CallContext-like state](https://til.cazzulino.com/dotnet/asynclocal-never-leaks-and-is-safe-for-callcontext-like-state.md): Even if it's typically used in a static field, the values never leak since they are bound to a transient ExecutionContext
- [Using HashCode in .NETFramework](https://til.cazzulino.com/dotnet/using-hashcode-in-.netframework.md): How to use HashCode type in full .NET, which doesn't support it
- [How to locate dotnet](https://til.cazzulino.com/dotnet/how-to-locate-dotnet.md): How to locate dotnet from the currently running .NET Core application
- [Conditional unit tests](https://til.cazzulino.com/testing/conditional-unit-tests.md): How to run xunit tests conditionally depending on the environment that is running the tests
- [Skip tagged scenarios in SpecFlow with Xunit](https://til.cazzulino.com/testing/skip-tagged-scenarios-in-specflow-with-xunit.md): How to skip scenarios with a certain tag from executing
- [How to get user home dir ~ cross-platform](https://til.cazzulino.com/msbuild/how-to-get-user-home-dir-cross-platform.md)
- [Modifying the build for every solution in a repository](https://til.cazzulino.com/msbuild/modifying-the-build-for-every-solution-in-a-repository.md)
- [Detect CI builds for every CI system](https://til.cazzulino.com/msbuild/detect-ci-builds-for-every-ci-system.md)
- [Modify all command-line builds in entire repo](https://til.cazzulino.com/msbuild/modify-all-command-line-builds-in-entire-repo.md)
- [Write entire XML fragments in MSBuild with XmlPoke](https://til.cazzulino.com/msbuild/write-entire-xml-fragments-in-msbuild-with-xmlpoke.md)
- [How to select first item in an ItemGroup](https://til.cazzulino.com/msbuild/how-to-select-first-item-in-an-itemgroup.md)
- [How to include commit URL in nuget package description](https://til.cazzulino.com/msbuild/how-to-include-commit-url-in-nuget-package-description.md)
- [How to include package reference files in your nuget](https://til.cazzulino.com/msbuild/how-to-include-package-reference-files-in-your-nuget-package.md)
- [How to build project when content files change](https://til.cazzulino.com/msbuild/how-to-build-project-when-content-files-change.md)
- [How to launch multiple Azure Functions apps on different ports](https://til.cazzulino.com/azure/how-to-launch-multiple-azure-functions-apps-on-different-ports.md)
- [C# script function apps beyond Azure portal](https://til.cazzulino.com/azure/c-script-function-apps-beyond-azure-portal.md)
- [Publishing function app from GitHub folder](https://til.cazzulino.com/azure/publishing-function-app-from-github-folder.md)
- [Exploring Azure Data with Kusto and Dashboards](https://til.cazzulino.com/azure/exploring-azure-data-with-kusto-and-dashboards.md)
- [Shared secret authorization with Azure SignalR Service](https://til.cazzulino.com/azure/shared-secret-authorization-with-azure-signalr-service.md)
- [Using Azure File Copy from DevOps yaml pipeline](https://til.cazzulino.com/azure/using-azure-file-copy-from-devops-yaml-pipeline.md): I learned that it's not enough to authorize Azure Resource Manager access from DevOps
- [Code-less redirection with serverless Azure Functions](https://til.cazzulino.com/azure/code-less-redirection-with-serverless-azure-functions.md): How to quickly and simply configure redirections without writing code in Azure Functions
- [How to run Azure Storage unit tests in CI](https://til.cazzulino.com/devops-ci-cd/how-to-run-azure-storage-unit-tests-in-ci.md)
- [How to skip steps or jobs in GitHub Actions for PRs from forks](https://til.cazzulino.com/devops-ci-cd/how-to-skip-steps-or-jobs-in-github-actions-for-prs-from-forks.md)
- [Update version and publish npm from GH](https://til.cazzulino.com/devops-ci-cd/update-version-and-publish-npm-from-gh.md): Setting up CI with GitHub Actions to update a node.js package version from GitHub release tag and publish it to npm
- [Push to protected branch from GitHub actions](https://til.cazzulino.com/devops-ci-cd/push-to-protected-branch-from-github-actions.md)
