Witam. Ostatnio z ciekawości sprawdzam środowisko NET Core i mam pytanie odnośne jednej rzeczy, której nie rozumiem. Zainstalowałem NET Core SDK w wersji 2.2.203 zarówno w systemie Linux jak i Windows. Korzystam z edytora Visual Studio Code z rozszerzeniem C# for Visual Studio Code.

Za każdym razem, gdy tworzę nową aplikację (na razie tylko konsolowe) to po wykonaniu komendy dotnet build --configuration Release lub dotnet publish --configuration Release, foldery obj, netcoreapp2.2, Release oraz plik AssemblyInfo.cs robią się czerwone. Visual Studio Code sygnalizuje błędy w stylu:

Duplicate 'System.Reflection.AssemblyCompanyAttribute' attribute (CS0579) [TerminalTool]

Korzystam z następujących komend:

dotnet new console -n TerminalTool
dotnet build
dotnet build --configuration Release
dotnet publish --configuration Release
dotnet run

W internecie przeczytałem, że w pliku *.csproj można dodać poniższy zapis i wtedy błędy już się nie pojawiają.

<GenerateAssemblyInfo>false</GenerateAssemblyInfo>

Jednak po usunięciu tego wpisu i ponownym wywołaniu komend build/publish, tym razem na czerwono zaznaczone są foldery obj/Debug/nercoreapp2.2 i plik AssemblyInfo.cs. Ponowne dodanie wpisu GenerateAssemblyInfo usuwa błędy.

Czy mógłby ktoś wyjaśnić ten temat i dlaczego w nowo utworzonym projekcie pojawiają się takie błędy? Czy dodawanie tego zapisu w pliku *.csproj jest dobrym rozwiązaniem?