Я хочу расширить эту тему / ответы следующим. Как кто-то упомянул, эта автоматически сгенерированная AssemblyInfo может стать препятствием для внешних инструментов. В моем случае, используя FinalBuilder , у меня была проблема, что AssemblyInfo не обновлялась действием сборки. Очевидно, FinalBuilder использует ~projфайл для поиска местоположения AssemblyInfo . Я подумал, это было где-нибудь в папке проекта. Нет. Итак, меняя это
<PropertyGroup>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
выполнил только половину работы, он позволил пользовательскую информацию о сборке, если построен VS IDE / MS Build. Но мне нужен был FinalBuilder тоже делал это без ручных манипуляций с файлом информации о сборке. Мне нужно было удовлетворить все программы, MSBuild / VS и FinalBuilder.
Я решил это, добавив запись в существующий ItemGroup
<ItemGroup>
<Compile Remove="Common\**" />
<Content Remove="Common\**" />
<EmbeddedResource Remove="Common\**" />
<None Remove="Common\**" />
<!-- new added item -->
<None Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
Теперь, имея этот элемент, FinalBuilder находит местоположение AssemblyInfo и модифицирует файл. Хотя действие Noneпозволяет MSBuild / DevEnv игнорировать эту запись и больше не сообщать об ошибке, основанной на Compileдействии, которое обычно идет с записью сведений о сборке в projфайлах.
C: \ Program Files \ dotnet \ sdk \ 2.0.2 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.DefaultItems.targets (263,5): ошибка: были включены дублирующие элементы «Компиляция». .NET SDK по умолчанию включает элементы «Компиляция» из каталога вашего проекта. Вы можете удалить эти элементы из файла проекта или установить для свойства «EnableDefaultCompileItems» значение «false», если вы хотите явно включить их в файл проекта. Для получения дополнительной информации см. Https://aka.ms/sdkimplicititems . Повторяющиеся элементы были: «AssemblyInfo.cs»