Ich möchte dieses Thema / diese Antworten mit folgendem erweitern. Wie bereits erwähnt, kann diese automatisch generierte AssemblyInfo ein Hindernis für die externen Tools sein. In meinem Fall hatte ich mit FinalBuilder ein Problem, dass AssemblyInfo nicht durch eine Build-Aktion aktualisiert wurde. Anscheinend stützt sich FinalBuilder auf die ~proj
Datei, um den Speicherort der AssemblyInfo zu finden . Ich dachte, es würde irgendwo unter dem Projektordner suchen. Also, das ändern
<PropertyGroup>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
hat nur die Hälfte der Arbeit erledigt und benutzerdefinierte Assembly-Informationen zugelassen, wenn diese von VS IDE / MS Build erstellt wurden. Aber ich musste FinalBuilder auch ohne manuelle Manipulationen an der Assembly-Info-Datei ausführen . Ich musste alle Programme, MSBuild / VS und FinalBuilder, erfüllen.
Ich habe dies gelöst, indem ich dem vorhandenen einen Eintrag hinzugefügt habe ItemGroup
<ItemGroup>
<Compile Remove="Common\**" />
<Content Remove="Common\**" />
<EmbeddedResource Remove="Common\**" />
<None Remove="Common\**" />
<!-- new added item -->
<None Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
Mit diesem Element findet FinalBuilder den Speicherort von AssemblyInfo und ändert die Datei. Während die Aktion None
es MSBuild / DevEnv ermöglicht, diesen Eintrag zu ignorieren und keinen Fehler mehr zu melden, der auf der Compile
Aktion basiert , die normalerweise mit dem Eintrag "Assembly Info" in proj
Dateien einhergeht .
C: \ Programme \ dotnet \ sdk \ 2.0.2 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.DefaultItems.targets (263,5): Fehler: Doppelte 'Kompilierungs'-Elemente wurden eingeschlossen. Das .NET SDK enthält standardmäßig Elemente zum Kompilieren aus Ihrem Projektverzeichnis. Sie können diese Elemente entweder aus Ihrer Projektdatei entfernen oder die Eigenschaft 'EnableDefaultCompileItems' auf 'false' setzen, wenn Sie sie explizit in Ihre Projektdatei aufnehmen möchten. Weitere Informationen finden Sie unter https://aka.ms/sdkimplicititems . Die doppelten Elemente waren: 'AssemblyInfo.cs'