Aracılığıyla paylaş


Derleme çıkış dizinini değiştirme

Projeniz tarafından oluşturulan çıkışın konumunu yapılandırma temelinde (hata ayıklama, sürüm veya her ikisi için) belirtebilirsiniz. Varsayılan ayarlarda çıkış klasörleri, platforma veya çerçeveye özgü alt klasörleri kullanan bazı projelerde proje türüne ve SDK'ya göre değişiklik gösterir.

Visual Studio, proje klasörüne göre yolları veya dosya sisteminin herhangi bir yerinde mutlak bir yolu belirterek özel klasörlere ara ve son çıkış yerleştirmenize olanak sağlayan özellikler sağlar. Visual Studio proje özelliklerinde belirttiğiniz ayarlara ek olarak, proje dosyasını düzenleyerek ve tek tek projeler için veya birçok proje için çözüm düzeyinde proje çıktısının tüm yönleri üzerinde tam denetim için MSBuild ve .NET SDK özelliklerini kullanarak çıktıyı daha da özelleştirebilirsiniz.

Derleme çıkış dizinini değiştirme

  1. Mevcut çıkış dosyalarını kaldırmak için projeyi veya çözümü temizleyin (Temiz Çözüm Derleme>).

  2. Projenin özellik sayfalarını açmak için Çözüm Gezgini'da proje düğümüne sağ tıklayın ve Özellikler'i seçin.

  3. Proje türünüz temelinde uygun sekmeyi seçin:

    • C# için Oluştur sekmesini seçin.
    • Visual Basic için Derle sekmesini seçin.
    • C++ veya JavaScript için Genel sekmesini seçin.
  4. Üstteki yapılandırma açılan listesinde, çıkış dosyası konumunu değiştirmek istediğiniz yapılandırmayı seçin (Hata Ayıklama, Sürüm veya Tüm Yapılandırmalar).

  5. Sayfada çıkış yolu girdisini bulun; proje türünüze bağlı olarak farklılık gösterir:

    • C# ve JavaScript projeleri için çıkış yolu
    • Visual Basic projeleri için çıkış yolu oluşturma
    • Visual C++ projeleri için çıkış dizini

    Çıkış oluşturulacak yolu yazın (mutlak veya kök proje dizinine göre) veya bu klasöre göz atmak için Gözat'ı seçin.

    Visual Studio C# projesi için çıkış yolu özelliği

    Not

    Bazı projeler (.NET ve ASP.NET Core) varsayılan olarak derleme yolunda çerçeve sürümünü veya çalışma zamanı tanımlayıcısını içerir. Bunu değiştirmek için, Çözüm Gezgini proje düğümüne sağ tıklayın, Proje Dosyasını Düzenle'yi seçin ve aşağıdakileri ekleyin:

    <PropertyGroup>
      <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
      <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    </PropertyGroup>
    

İpucu

Çıkış belirttiğiniz konuma oluşturulmuyorsa, Visual Studio'nun menü çubuğundan seçerek ilgili yapılandırmayı (örneğin, Hata Ayıkla veya Yayın) oluşturduğunuzdan emin olun.

Visual Studio 2019'da yapılandırma seçici oluşturma.

Ortak çıkış dizinine derleme

Varsayılan olarak, Visual Studio her projeyi çözümün içindeki kendi klasöründeki bir çözümde oluşturur. Tüm çıkışların aynı klasöre yerleştirilmesini zorlamak için projelerinizin derleme çıkış yollarını değiştirebilirsiniz.

Tüm çözüm çıkışlarını ortak bir dizine yerleştirmek için

  1. Mevcut çıkış dosyalarını kaldırmak için çözümü temizleyin (Temiz Çözüm Derleme>).

  2. Çözümde bir projeye tıklayın.

  3. Proje menüsünde Özellikler'e tıklayın.

  4. Her projede, türüne bağlı olarak Derle veya Derle'yi seçin ve Çıkış yolunu veya Temel çıkış yolunu çözümdeki tüm projeler için kullanılacak bir klasör olarak ayarlayın.

  5. Projenin proje dosyasını açın ve ilk özellik grubuna aşağıdaki özellik bildirimini ekleyin.

    <PropertyGroup>
      <!-- existing property declarations are here -->
      <UseCommonOutputDirectory>true</UseCommonOutputDirectory>
    </PropertyGroup>
    

    Ayarı UseCommonOutputDirectory , Visual Studio'ya true ve temel alınan derleme altyapısına (MSBuild) aynı klasöre birden çok proje çıktısı yerleştirdiğiniz bildirildiğinden MSBuild, normalde projeler diğer projelere bağımlı olduğunda gerçekleşen kopyalama adımını atlar.

  6. Çözümdeki tüm projeler için 2-5 arası adımları yineleyin. Ortak çıkış dizinini kullanmaması gereken bazı olağanüstü projeleriniz varsa bazı projeleri atlayabilirsiniz.

Bir projenin ara çıkış dizinini ayarlamak için (.NET projeleri)

  1. Mevcut çıkış dosyalarını kaldırmak için projeyi temizleyin.

  2. Proje dosyasını açın.

  3. Aşağıdaki özellik bildirimini ilk özellik grubuna ekleyin.

    <PropertyGroup>
      <!-- existing property declarations are here -->
      <IntermediateOutputPath>path</IntermediateOutputPath>
    </PropertyGroup>
    

    Yol proje dosyasına göredir veya mutlak bir yol kullanabilirsiniz. Proje adını yola koymak istiyorsanız, MSBuild özelliklerini $(MSBuildProjectName)kullanarak buna başvurabilirsiniz. $(MSBuildProjectDirectory) Kullanabileceğiniz diğer özellikler için bkz . MSBuild ayrılmış ve iyi bilinen özellikler.

  4. Visual Studio, oluşturduğunuz sırada proje klasörünün altında obj klasörünü oluşturmaya devam eder, ancak boş olur. Derleme işleminin bir parçası olarak silebilirsiniz. Bunun bir yolu, aşağıdaki komutu çalıştırmak için derleme sonrası olay eklemektir:

    rd "$(ProjectDir)obj" /s /q
    

    Bkz. Özel derleme olaylarını belirtme.

Visual Studio 2022'de proje türünüze bağlı olarak farklı Project Tasarım Aracı kullanıcı arabirimleri vardır. C# .NET Framework ve tüm Visual Basic projeleri eski .NET Project Tasarım Aracı kullanır, ancak C# .NET Core (ve .NET 5 ve üzeri) projeleri geçerli .NET Project Tasarım Aracı kullanır. C++ projeleri kendi özellik sayfaları kullanıcı arabirimini kullanır. Bu bölümdeki adımlar, kullandığınız Project Tasarım Aracı bağlıdır.

Derleme çıkış dizinini değiştirme

Bu yordam, .NET Core veya .NET 5 ve üzerini hedefleyen Visual Studio 2022'deki C# projeleri için geçerlidir.

  1. Mevcut çıkış dosyalarını kaldırmak için projeyi veya çözümü temizleyin (Temiz Çözüm Derleme>).

  2. Çözüm Gezgini proje düğümüne sağ tıklayın ve Özellikler'i seçin.

  3. Derleme bölümünü genişletin ve aşağı kaydırarak Çıkış alt bölümüne gelin.

  4. C# için Temel çıkış yolunu bulun ve çıkış oluşturulacak yolu yazın (mutlak veya kök proje dizinine göre) veya bunun yerine bu klasöre göz atmak için Gözat'ı seçin. Gerçek çıkış yolunu oluşturmak için temel çıkış yoluna yapılandırma adının eklendiğini unutmayın.

    .NET Core C# projesinin Çıkış yolu özelliğini gösteren ekran görüntüsü.

    Not

    Bazı projeler (.NET ve ASP.NET Core) varsayılan olarak son çıkış yolunda çerçeve sürümünü veya çalışma zamanı tanımlayıcısını içerir. Bunu değiştirmek için, Çözüm Gezgini proje düğümüne sağ tıklayın, Proje Dosyasını Düzenle'yi seçin ve aşağıdakileri ekleyin:

    <PropertyGroup>
      <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
      <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    </PropertyGroup>
    

Ortak çıkış dizinine derleme

Varsayılan olarak, Visual Studio her projeyi çözümün içindeki kendi klasöründeki bir çözümde oluşturur. Tüm çıkışların aynı klasöre yerleştirilmesini zorlamak için projelerinizin derleme çıkış yollarını değiştirebilirsiniz.

  1. Mevcut çıkış dosyalarını kaldırmak için çözümü temizleyin (Temiz Çözüm Derleme>).

  2. Çözümde bir projeye tıklayın.

  3. Proje menüsünde Özellikler'e tıklayın.

  4. Her projede, türüne bağlı olarak Derle veya Derle'yi seçin ve Çıkış yolunu veya Temel çıkış yolunu çözümdeki tüm projeler için kullanılacak bir klasör olarak ayarlayın.

  5. Projenin proje dosyasını açın ve ilk özellik grubuna aşağıdaki özellik bildirimini ekleyin.

    <PropertyGroup>
      <!-- existing property declarations are here -->
      <UseCommonOutputDirectory>true</UseCommonOutputDirectory>
    </PropertyGroup>
    

    Ayarı UseCommonOutputDirectory , Visual Studio'ya true ve temel alınan derleme altyapısına (MSBuild) aynı klasöre birden çok proje çıktısı yerleştirdiğiniz bildirildiğinden MSBuild, normalde projeler diğer projelere bağımlı olduğunda gerçekleşen kopyalama adımını atlar.

  6. Çözümdeki tüm projeler için 2-5 arası adımları yineleyin. Ortak çıkış dizinini kullanmaması gereken bazı olağanüstü projeleriniz varsa bazı projeleri atlayabilirsiniz.

İpucu

Çıkış belirttiğiniz konuma oluşturulmuyorsa, Visual Studio'nun menü çubuğundan seçerek ilgili yapılandırmayı (örneğin, Hata Ayıkla veya Yayın) oluşturduğunuzdan emin olun.

Visual Studio 2022'de Derleme yapılandırma seçicisinin ekran görüntüsü.

Proje için ara çıkış dizinini ayarlama

Bu yordam, .NET Core veya .NET 5 ve üzerini hedefleyen Visual Studio 2022'deki C# projeleri için geçerlidir.

  1. Mevcut çıkış dosyalarını kaldırmak için projeyi temizleyin.

  2. Proje dosyasını açın.

  3. Aşağıdaki özellik bildirimini ilk özellik grubuna ekleyin.

    <PropertyGroup>
      <!-- existing property declarations are here -->
      <IntermediateOutputPath>path</IntermediateOutputPath>
    </PropertyGroup>
    

    Yol proje dosyasına göredir veya mutlak bir yol kullanabilirsiniz. Proje adını yola koymak istiyorsanız, MSBuild özelliklerini $(MSBuildProjectName)kullanarak buna başvurabilirsiniz. $(MSBuildProjectDirectory) Kullanabileceğiniz diğer özellikler için bkz . MSBuild ayrılmış ve iyi bilinen özellikler.

  4. Visual Studio, oluşturduğunuz sırada proje klasörünün altında obj klasörünü oluşturmaya devam eder, ancak boş olur. Derleme işleminin bir parçası olarak silebilirsiniz. Bunun bir yolu, aşağıdaki komutu çalıştırmak için derleme sonrası olay eklemektir:

    rd "$(ProjectDir)obj" /s /q
    

    Bkz. Özel derleme olaylarını belirtme.

Çıkış dizinini ayarlamak için Directory.Build.props kullanma

Çok sayıda projeniz varsa ve hepsi için çıkış klasörünü değiştirmek istiyorsanız, bu makalenin önceki bölümlerinde açıklanan yöntemleri kullanarak her birini değiştirmek zahmetli ve hataya açık olacaktır. Bu gibi durumlarda, çözümdeki tüm projelere uygulanacak uygun MSBuild özelliklerini tek bir yerde ayarlamak için Directory.Build.props çözüm klasöründe bir dosya oluşturabilirsiniz. Bu belirli ada sahip bir dosyayı, etkilenmek istediğiniz tüm projelerin üst klasörüne yerleştirerek, özelleştirmeleri tek bir yerde kolayca koruyabilir ve değerleri değiştirmeyi kolaylaştırabilirsiniz. Bkz . Derlemeyi klasöre göre özelleştirme.

Derleme çıkışını düzenlemek için yapıtları kullanma

.NET 8 projelerinde, çıktıyı yüksek oranda özelleştirilebilir ve esnek bir şekilde düzenlemek için yapıtlar işlevini kullanabilirsiniz. Bkz . Yapıt çıktı düzeni.