Avatar ·

Qual é a diferença entre os projetos de bibliotecas de classes .NET Core e .NET Standard no Visual Studio?

Olá! Sou novo em C# e .NET, e recentemente comecei a estudar a criação de bibliotecas de classes. No Visual Studio, ao adicionar um novo projeto, vejo dois templates semelhantes: "Biblioteca de Classes (.NET Core)" e "Biblioteca de Classes (.NET Standard)". Estou confuso — qual deles devo escolher?\n\nPor exemplo, estou escrevendo um pequeno projeto para mim mesmo no .NET Core 3.1 e quero extrair utilitários comuns (validação de email, manipulação de datas) para uma biblioteca separada. Se eu criar uma biblioteca no .NET Standard, poderei usá-la no meu projeto .NET Core? Ou, ao contrário, se eu fizer uma biblioteca no .NET Core, ela funcionará apenas com .NET Core?\n\nTambém ouvi falar sobre .NET Framework — minha biblioteca deve suportar projetos antigos no .NET Framework 4.6.1? Ou é melhor migrar tudo para .NET Core? Ficarei grato por uma explicação com exemplos de código.\n\n```csharp\n// Exemplo: meu utilitário para validação de email\npublic static class EmailValidator\n{\n public static bool IsValidEmail(string email)\n {\n try\n