Bu konuyu / cevapları aşağıdakilerle genişletmek istiyorum. Birisinin de belirttiği gibi, bu otomatik oluşturulan AssemblyInfo harici araçlar için bir engel olabilir. Benim durumumda, FinalBuilder kullanarak , AssemblyInfo derleme eylemi ile güncellenmiyor bir sorun vardı . Görünüşe göre, FinalBuilder AssemblyInfo~proj
konumunu bulmak için dosyaya güveniyor . Proje klasörü altında herhangi bir yere baktığını düşündüm. Hayır. Yani, bunu değiştirmek
<PropertyGroup>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
işin sadece yarısını yaptı, VS IDE / MS Build tarafından oluşturulmuşsa özel montaj bilgilerine izin verdi. Ama montaj bilgi dosyasına manuel manipülasyonlar olmadan da FinalBuilder yapmak gerekiyordu. MSBuild / VS ve FinalBuilder gibi tüm programları karşılamam gerekiyordu.
Bunu mevcut bir giriş ekleyerek çözdüm ItemGroup
<ItemGroup>
<Compile Remove="Common\**" />
<Content Remove="Common\**" />
<EmbeddedResource Remove="Common\**" />
<None Remove="Common\**" />
<!-- new added item -->
<None Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
Şimdi, bu öğeye sahip olan FinalBuilder AssemblyInfo öğesinin yerini bulur ve dosyayı değiştirir. Action None
, MSBuild / DevEnv uygulamasının bu girdiyi yok saymasına izin verir ve artık Compile
genellikle proj
dosyalarda Montaj Bilgisi girişi ile gelen eyleme dayalı bir hata bildirmez .
C: \ Program Files \ dotnet \ sdk \ 2.0.2 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.DefaultItems.targets (263,5): hata: Yinelenen 'Derleme' öğeleri dahil edildi. .NET SDK'sı varsayılan olarak proje dizininizden 'Derle' öğeleri içerir. Proje öğenizden bu öğeleri kaldırabilir veya açıkça proje dosyanıza eklemek istiyorsanız 'EnableDefaultCompileItems' özelliğini 'false' olarak ayarlayabilirsiniz. Daha fazla bilgi için bkz. Https://aka.ms/sdkimplicititems . Yinelenen öğeler: 'AssemblyInfo.cs'