.NET projelerinde, publish işlemi sırasında belirli dosyaları veya klasörleri hariç tutmanız gerekebilir. Bu, özellikle geliştiriciye özel yapılandırma dosyalarının (örneğin appsettings.Development.json
) ve büyük boyutlu dosya veya klasörlerin (örneğin wwwroot
klasörü) üretim ortamına taşınmaması gereken durumlarda önemlidir. Bu yazıda, .NET projelerinde belirli dosya ve klasörleri publish işleminden nasıl hariç tutacağınızı ele alacağız.
1. Geliştiriciye Özel Yapılandırma Dosyalarını Hariç Tutma
Geliştirme sırasında kullandığınız yapılandırma dosyalarını (appsettings.Development.json
gibi) üretim ortamına taşımak genellikle istenmeyen bir durumdur. Bu dosyaların publish işleminden hariç tutulması için .NET projelerinde .csproj
dosyanıza aşağıdaki eklemeleri yapabilirsiniz:
Adımlar:
- Projenizin
.csproj
dosyasını açın. - Aşağıdaki kodu
ItemGroup
içerisinde uygun bir yere ekleyin:
<ItemGroup> <None Update="appsettings.Development.json"> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </None> <None Update="appsettings.json"> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </None> </ItemGroup>
Açıklama:
- Bu kod bloğu,
appsettings.Development.json
veappsettings.json
dosyalarının publish işlemine dahil edilmesini engeller.CopyToPublishDirectory
özelliği “Never” olarak ayarlanarak, bu dosyalar hiçbir zaman publish işleminde kopyalanmaz.
2. wwwroot
Klasörünü Publish İşleminden Hariç Tutma
Web projelerinde wwwroot
klasörü genellikle statik dosyalar içerir. Ancak, bazı durumlarda bu klasörü publish işleminden hariç tutmak isteyebilirsiniz. Bunu gerçekleştirmek için yine .csproj
dosyasına aşağıdaki kodu ekleyebilirsiniz:
Adımlar:
- Projenizin
.csproj
dosyasını açın. - Aşağıdaki kodu
ItemGroup
içerisine ekleyin:
<ItemGroup> <Content Update="wwwroot\**\*"> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </Content> </ItemGroup>
Açıklama:
- Bu kod bloğu,
wwwroot
klasörü içerisindeki tüm dosyaların publish işlemine dahil edilmesini engeller. Klasör içeriğinin tamamıCopyToPublishDirectory
özelliği “Never” olarak ayarlanarak hariç tutulur.
Sonuç
Bu yöntemlerle, projenizin gereksiz dosya ve klasörlerle dolmasını engelleyebilir ve yalnızca ihtiyacınız olan dosyaların üretim ortamına taşınmasını sağlayabilirsiniz. Özellikle büyük projelerde, bu tür optimizasyonlar hem sunucu kaynaklarını daha verimli kullanmanıza yardımcı olur hem de gereksiz dosyaların taşınmasını önler.
Eğer .NET projelerinde daha fazla verimlilik sağlamak istiyorsanız, projelerinizi düzenli olarak gözden geçirmeli ve gereksiz dosyaları publish işleminden hariç tutmayı ihmal etmemelisiniz.