NETSDK1022: Yinelenen öğeler dahil edildi
Bu makale şunlar için geçerlidir: ✔️ .NET Core 2.1.100 SDK ve sonraki sürümleri
Visual Studio 2017 / MSBuild sürüm 15.3'ten başlayarak, .NET SDK'sı varsayılan olarak proje dizininden öğeleri otomatik olarak içerir. Bu öğeler ve Content
hedefleri içerirCompile
. Bu davranış proje dosyalarını basitleştirir.
Ancak, proje dosyanızda bu öğelerden herhangi birini açıkça tanımlarsanız, aşağıdakine benzer bir derleme hatasıyla karşılaşırsınız:
Yinelenen 'Derleme' öğeleri dahil edildi. .NET SDK'sı varsayılan olarak proje dizininizdeki 'Derle' öğelerini içerir. Bu öğeleri proje dosyanızdan kaldırabilir veya proje dosyanıza açıkça eklemek istiyorsanız 'EnableDefaultCompileItems' özelliğini 'false' olarak ayarlayabilirsiniz.
Yinelenen 'EmbeddedResource' öğeleri dahil edildi. .NET SDK'sı varsayılan olarak proje dizininizdeki 'EmbeddedResource' öğelerini içerir. Bu öğeleri proje dosyanızdan kaldırabilir veya proje dosyanıza açıkça eklemek istiyorsanız 'EnableDefaultEmbeddedResourceItems' özelliğini 'false' olarak ayarlayabilirsiniz.
Hataları çözmek için aşağıdakilerden birini yapın:
Önceki tabloda listelenen örtük öğelerle eşleşen açık
Compile
,EmbeddedResource
veyaNone
öğelerini kaldırın.Tüm örtük dosya ekleme özelliğini devre dışı bırakmak için
false
EnableDefaultItems özelliğini olarak ayarlayın:<PropertyGroup> <EnableDefaultItems>false</EnableDefaultItems> </PropertyGroup>
Uygulamanızla yayımlanacak dosyaları belirtmek istiyorsanız, bunun için bilinen MSBuild mekanizmalarını (örneğin,
Content
öğesi) kullanmaya devam edebilirsiniz.EnableDefaultCompileItems, EnableDefaultEmbeddedResourceItems veya EnableDefaultNoneItems özelliğini
false
olarak ayarlayarak yalnızcaCompile
,EmbeddedResource
None
veya glob'ları seçmeli olarak devre dışı bırakın:<PropertyGroup> <EnableDefaultCompileItems>false</EnableDefaultCompileItems> <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems> <EnableDefaultNoneItems>false</EnableDefaultNoneItems> </PropertyGroup>
Yalnızca glob'ları devre dışı bırakırsanız
Compile
Visual Studio'daki Çözüm Gezgini yine de proje kapsamında *.cs öğeleri gösterir ve öğeler olarakNone
eklenir. ÖrtükNone
glob'ı devre dışı bırakmak içinfalse
de olarak ayarlayınEnableDefaultNoneItems
.
WPF projeleri
Yinelenen ApplicationDefinition
veya Page
öğeler nedeniyle bir WPF projesinde bu hataya isabet edebilirsiniz. Hatayı çözmek için bir MSBuild özelliği kullanarak varsayılan öğeleri devre dışı bırakabilir misiniz? Örneğin, wpf projesindeki varsayılan Page
öğeleri devre dışı bırakmak için olarak false
ayarlayınEnableDefaultPageItems
:
<PropertyGroup>
<EnableDefaultPageItems>false</EnableDefaultPageItems>
</PropertyGroup>
Daha fazla bilgi için bkz . Yinelenen öğelerle (WPF) ilgili hatalar.