Voglio estendere questo argomento / risposte con quanto segue. Come qualcuno ha detto, questo AssemblyInfo generato automaticamente può essere un ostacolo per gli strumenti esterni. Nel mio caso, usando FinalBuilder , ho avuto un problema che AssemblyInfo non veniva aggiornato dall'azione build. Apparentemente, FinalBuilder si affida al ~proj
file per trovare la posizione di AssemblyInfo . Ho pensato, stava cercando ovunque nella cartella del progetto. No. Quindi, cambiando questo
<PropertyGroup>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
ha svolto solo la metà del lavoro, ha consentito informazioni sull'assemblaggio personalizzato se creato da VS IDE / MS Build. Ma avevo bisogno che anche FinalBuilder lo facesse senza manipolazioni manuali nel file di informazioni sull'assemblaggio. Avevo bisogno di soddisfare tutti i programmi, MSBuild / VS e FinalBuilder.
Ho risolto questo aggiungendo una voce all'esistente ItemGroup
<ItemGroup>
<Compile Remove="Common\**" />
<Content Remove="Common\**" />
<EmbeddedResource Remove="Common\**" />
<None Remove="Common\**" />
<!-- new added item -->
<None Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
Ora, con questo elemento, FinalBuilder trova la posizione di AssemblyInfo e modifica il file. Mentre action None
consente a MSBuild / DevEnv di ignorare questa voce e di non segnalare più un errore in base Compile
all'azione che di solito viene fornita con la voce Informazioni sull'assembly nei proj
file.
C: \ Programmi \ dotnet \ sdk \ 2.0.2 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.DefaultItems.targets (263,5): errore: sono stati inclusi elementi 'Compile' duplicati. .NET SDK include gli elementi 'Compila' dalla directory del progetto per impostazione predefinita. È possibile rimuovere questi elementi dal file di progetto o impostare la proprietà "EnableDefaultCompileItems" su "false" se si desidera includerli esplicitamente nel file di progetto. Per ulteriori informazioni, consultare https://aka.ms/sdkimplicititems . Gli elementi duplicati erano: 'AssemblyInfo.cs'