One of the advantages of .NET Core project format is that the *.csproj file doesn't contain the list of files to be included in the project anymore, it just includes everything in that folder.
But Shared Projects still have the old .NET Framework project format in the sense that there is a *.projitems file that lists files to be included in the project
<Compile Include="$(MSBuildThisFileDirectory)\MyFile.cs" />
Every time you add a new file to the project, it is added to the *.projitems file which often results in source control conflicts.
Is there some way to ignore this *.projitems file and include all files in the project folder, like .NET Core projects?
It is possible to include all *.cs files by default with a wildcard like this:
<Compile Include="$(MSBuildThisFileDirectory)\**\*.cs" />
When copying a file into the project folder using Windows Explorer, it should pick it up automatically. But if you add a new file from Visual Studio, it will still add a new <Compile>
entry, but that can be reverted using source control. Not a perfect solution, but it mostly works.