.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
.csprojdosyasını açın. - Aşağıdaki kodu
ItemGroupiç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.jsonveappsettings.jsondosyaları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
.csprojdosyasını açın. - Aşağıdaki kodu
ItemGroupiçerisine ekleyin:
<ItemGroup>
<Content Update="wwwroot\**\*">
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</Content>
</ItemGroup>
Açıklama:
- Bu kod bloğu,
wwwrootklasö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.
