- C# DLLs depend on the C# runtime, not the operating system
- understanding the .NET history
https://devblogs.microsoft.com/dotnet/announcing-net-5-0/
- single file executables for .NET Core apps can be cross-compiled on Ubuntu for Windows or Mac
- to enable usage of DLLs in apps it's useful to wrap them into NuGet packages
https://stackoverflow.com/questions/43277715/create-nuget-package-from-dlls https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-the-dotnet-cli
- one can read the content of C# dll files by decompiling them. a common Windows tool is dotpeek. a decompiler for Ubuntu is e.g. ILSpy
https://github.com/search?q=topic%3Adecompiler+language%3Acsharp
- recommended extensions for VSCode are csharp (C#) and Ionide-fsharp (F#)
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp https://marketplace.visualstudio.com/items?itemName=Ionide.Ionide-fsharp https://marketplace.visualstudio.com/items?itemName=jmrog.vscode-nuget-package-manager https://code.visualstudio.com/docs/languages/dotnet https://joffreykern.github.io/blog/how-to-build-dotnet-core-project-with-vs-code
- debugging .NET console app in VSCode
https://www.pluralsight.com/guides/developing-.net-core-apps-with-visual-studio-code https://www.pluralsight.com/guides/debugging-.net-core-apps-with-visual-studio-code https://www.pluralsight.com/guides/testing-.net-core-apps-with-visual-studio-code
- Paket is an alternative to using NuGet for dependency management. It works with NuGet packages but has some advantages.
https://github.com/fsprojects/Paket
- there is a vscode extension for paket support
https://marketplace.visualstudio.com/items?itemName=Ionide.Ionide-Paket
- use project in other project using p-2-p references
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-add-reference
- use a dll in a project using dll reference
https://stackoverflow.com/questions/41381064/vscode-c-sharp-add-reference-to-custom-assembly
- architecture consideration when using dll references in projects
https://medium.com/@trapdoorlabs/c-target-platforms-x64-vs-x86-vs-anycpu-5f0c3be6c9e2
- package debugable and release packages
https://docs.microsoft.com/de-de/nuget/quickstart/create-and-publish-a-package-using-the-dotnet-cli https://capgemini.github.io/development/debugging-into-a-nuget-package/
- install nuget package into project
- nuget packaging of .NET core using VSCode and NuGet
https://softchris.github.io/pages/dotnet-nuget.html#create-a-nuget-package
- use local nuget package in dotnet core app
https://stackoverflow.com/questions/43400069/add-a-package-with-a-local-package-file-in-dotnet
- setup a local nuget package feed from file system
https://docs.microsoft.com/en-us/nuget/hosting-packages/local-feeds
- setup a private nuget package feed from lightweight server
https://github.com/loic-sharma/BaGet/
- VSCode: install a nuget package from public feeds
https://stackoverflow.com/questions/40675162/install-a-nuget-package-in-visual-studio-code/47856617 https://stackoverflow.com/questions/11370344/could-not-load-file-or-assembly-an-attempt-was-made-to-load-a-program-with-a
- advanced packaging of .NET core on ubuntu
https://www.youtube.com/watch?v=NA4GgvP-Itk https://www.youtube.com/watch?v=xcDXAjEiPRM
- visualize dependencies between dlls
https://github.com/icsharpcode/ILSpy https://marketplace.visualstudio.com/items?itemName=icsharpcode.ilspy-vscode (VSCode extension) https://github.com/mikehadlow/AsmSpy
- design guidelines
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/?redirectedfrom=MSDN
- use .NET framework dlls in .NET core app
- convert .NET framework to .NET Core project
https://medium.com/c-sharp-progarmming/migrate-net-framework-to-net-core-66746acb4092