Aracılığıyla paylaş


GitHub Copilot uygulama modernleştirmesi nedir - .NET için yükseltme?

GitHub Copilot uygulama modernleştirmesi - .NET için yükseltme, projeleri .NET'in daha yeni sürümlerine yükseltmek, bağımlılıklarınızı yükseltmek ve kod düzeltmeleri uygulamak için sizinle birlikte çalışan güçlü bir Visual Studio uzantısıdır.

GitHub Copilot uygulama modernleştirmesi Visual Studio uzantısı olarak dağıtılır ve etkileşimli bir yükseltme işlemidir.

Önkoşullar

(Abonelikleri değiştirirseniz Visual Studio'yu yeniden başlatmanız gerekir.)

  • Kodun yerel bir Git deposunda olması gerekir.
  • Kod C# dilinde yazılmalıdır.
  • İsteğe bağlı ancak önerilir: Yükseltme işlemi için GitHub Copilot aracı modunu kullanın. Daha fazla bilgi için bkz. Visual Studio'da Copilot aracı modunu kullanma.

Yükleme yönergeleri için bkz. GitHub Copilot uygulama modernleştirmesini yükleme - .NET için yükseltme.

Desteklenen proje türleri

GitHub Copilot uygulama modernleştirmesi, C# ile kodlanmış projeleri yükseltmeyi destekler. Aşağıdaki proje türleri desteklenir:

  • MVC, Razor Pages, Web API gibi ASP.NET ve ilgili teknolojiler
  • Blazor
  • Azure İşlevleri
  • Windows Presentation Foundation
  • Windows Forms
  • Sınıf kitaplıkları
  • Konsol uygulamaları

Önemli

Uzantının geçerli sürümü .NET Framework'ten .NET'e yükseltmeyi desteklemiyor. Bu senaryolarda .NET Yükseltme Yardımcısı'nı kullanarak .NET'e geçin ve ardından kodunuzu modernleştirmek için bu aracı kullanın.

Yükseltme yolları

Aşağıdaki yükseltme yolları desteklenmektedir:

  • Projeleri .NET Core'dan .NET'e yükseltin.
  • Projeleri .NET'in eski sürümlerinden en son sürümlere yükseltin.
  • Kod tabanınızı modernleştirin.

Yükseltme işlemini başlatma

Yükseltmenin ilk adımı, GitHub Copilot ile etkileşim kurarak bir plan oluşturmaktır. Copilot'un aracı kullanmasını sağlamanın iki yolu vardır:

  • Çözüme veya projeye sağ tıklayın ve GitHub Copilot ile yükselt'i seçin.

    —veya—

  • GitHub Copilot aracı modunu etkinleştirin ve çözümü veya projeyi yükseltmek için yeni bir Copilot sohbeti isteyin.

    Önemli

    GitHub Copilot aracı modunu etkinleştirdikten sonra sohbet modunu Aracı olarak ayarlayın ve upgrade_start aracını etkinleştirin.

    GitHub Copilot sohbet penceresi. Aracı Modu açılır menüsü ve Araç seçimi açılır menüsü vurgulanmış.

Plan oluşturma

İşlem başladıktan sonra, Copilot projelerinizi ve bağımlılıklarını analiz eder ve yükseltme hakkında size bir dizi soru sorar. Bu soruları yanıtladıktan sonra, markdown dosyası biçiminde bir yükseltme planı yazılır. Copilot'a yükseltmeye devam etmelerini söylerseniz, bu plan yükseltme işleminin adımlarını açıklar.

Yükseltme adımlarını değiştirmek veya daha fazla bağlam eklemek için Markdown dosyasını düzenleyerek planı ayarlayabilirsiniz.

Dikkat

Plan, projelerinizin bağımlılıkları temelinde oluşturulur. Planı geçiş yolunu tamamlayamayacak şekilde değiştirirseniz yükseltme başarılı olmaz. Örneğin, A ProjesiB Projesine bağımlıysa ve B Projesini yükseltme planından kaldırırsanız, Proje A'yı yükseltme başarısız olabilir.

Aşağıdaki kod parçacığı bir planın yapısını gösterir:

# .NET 9.0 Upgrade Plan

## Execution Steps

1. Validate that an .NET 9.0 SDK required for this upgrade is installed on the machine and if not, help to get it installed.
2. Ensure that the SDK version specified in global.json files is compatible with the .NET 9.0 upgrade.
3. Upgrade projects to .NET 9.0.
  - 3.1. Upgrade RazorMovie.csproj
  - 3.2. Upgrade RazorMovie.Tests.csproj
4. Run unit tests to validate upgrade in the projects listed below:
  - RazorMovie.Tests.csproj

## Settings

This section contains settings and data used by execution steps.

### Aggregate NuGet packages modifications across all projects

NuGet packages used across all selected projects or their dependencies that need version update in projects that reference them.

| Package Name                                     | Current Version     | New Version | Description              |
|:-------------------------------------------------|:-------------------:|:-----------:|:-------------------------|
| HtmlSanitizer                                    | 7.1.542             | 9.0.884     | Security vulnerability   |
| Microsoft.Data.SqlClient                         | 4.0.5               | 6.0.2       | Deprecated               |
| Microsoft.EntityFrameworkCore.Design             | 6.0.0-rtm.21467.1   | 9.0.5       | Recommended for .NET 9.0 |
| Microsoft.EntityFrameworkCore.SqlServer          | 6.0.0-rc.1.21452.10 | 9.0.5       | Recommended for .NET 9.0 |
| Microsoft.EntityFrameworkCore.Tools              | 6.0.0-rc.1.21452.10 | 9.0.5       | Recommended for .NET 9.0 |
| Microsoft.VisualStudio.Web.CodeGeneration.Design | 6.0.0-rc.1.21464.1  | 9.0.0       | Recommended for .NET 9.0 |

...

Yükseltmeyi gerçekleştirme

Yükseltme planı hazır olduğunda Copilot'a yükseltmeyi başlatmasını söyleyin. Yükseltme işlemi başladıktan sonra, Copilot sohbet penceresinde ne yaptığını size bildirir ve her adımın durumunu listeleyen Yükseltme İlerleme Ayrıntıları belgesini açar. Bir sorunla karşılaşırsa, Copilot duraklar ve bu sorunları çözmek için yönünüzü veya yardımınızı ister.

Araç, Copilot aracı modunun etkinleştirilip etkinleştirilmediğine bağlı olarak deneyim açısından farklılık gösterir.

  • Copilot temsilci modu

    Copilot aracı modu etkinleştirildiğinde ve kullanıldığında, Copilot bir sorunun nedenini belirlemeye ve bir düzeltme uygulamaya çalışır. Copilot sorunu düzeltemiyor gibi görünüyorsa yardımınızı ister. Müdahale ettiğinizde, Copilot yaptığınız değişikliklerden ders alır ve sorun yeniden karşılaştığınızda bunları sizin için otomatik olarak uygulamayı dener.

  • Copilot düzeltme modu

    Aracı modu devre dışı bırakıldıysa veya kullanılmadıysa Copilot düzeltme modu kullanılır. Copilot bulduğu sorunları bildirir ve gerekli düzeltmeler konusunda size yol gösterir. Gerçek kod değişikliklerini gerçekleştirmek için size bağlıdır ve ardından bu düzeltmeleri doğrular.

Yükseltme işlemindeki her önemli adım yerel Git deposuna işlenir.

Yükseltme sonuçları

Yükseltme tamamlandığında, yükseltmenin her adımını açıklayan bir rapor oluşturulur. Araç, yükseltme işleminin her bölümü için bir Git işlemesi oluşturur, böylece değişiklikleri kolayca geri alabilir veya değişenler hakkında ayrıntılı bilgi alabilirsiniz. Rapor Git işleme karmalarını içerir.

Raporda ayrıca yükseltme tamamlandıktan sonra gerçekleştirmeniz gereken adımları açıklayan bir Sonraki adımlar bölümü de sağlanır. Aşağıdaki örnekte, test hatası içeren tamamlanmış bir yükseltmenin raporu gösterilmektedir:

# .NET 9 Upgrade Report

## Project modifications

| Project name                                   | Old Target Framework    | New Target Framework         | Commits                   |
|:-----------------------------------------------|:-----------------------:|:----------------------------:|---------------------------|
| RazorMovie                                     |   net6.0                | net9.0                       | af8cf633, aa61a18d        |
| MvcMovie                                       |   net6.0                | net9.0                       | cc8c9015                  |
| WpfMovie                                       |   net6.0-windows        | net9.0-windows               | 9c4b13f9                  |
| RazorMovie.Tests                               |   net6.0                | net9.0                       | b8d85e97                  |
| MvcMovie.Tests                                 |   net6.0                | net9.0                       | b8d85e97                  |
| WpfMovie.Tests                                 |   net6.0-windows        | net9.0-windows7.0            | b8d85e97                  |

## NuGet Packages

| Package Name                                     | Old Version         | New Version | Commit Id |
|:-------------------------------------------------|:-------------------:|:-----------:|-----------|
| HtmlSanitizer                                    | 7.1.542             | 9.0.884     | af8cf633  |
| Microsoft.Data.SqlClient                         | 4.0.5               | 6.0.2       | bf8deeac  |
| Microsoft.EntityFrameworkCore.Design             | 6.0.0-rtm.21467.1   | 9.0.5       | bf8deeac  |
| Microsoft.EntityFrameworkCore.SqlServer          | 6.0.0-rc.1.21452.10 | 9.0.5       | bf8deeac  |
| Microsoft.EntityFrameworkCore.Tools              | 6.0.0-rc.1.21452.10 | 9.0.5       | bf8deeac  |
| Microsoft.VisualStudio.Web.CodeGeneration.Design | 6.0.0-rc.1.21464.1  | 9.0.0       | bf8deeac  |

## All commits

| Commit ID | Description                                             |
|:----------|:--------------------------------------------------------|
| af8cf633  | Update HtmlSanitizer package in RazorMovie.csproj       |
| aa61a18d  | Upgrade target framework in RazorMovie.csproj           |
| cc8c9015  | Upgrade to .NET 9 and update dependencies               |
| bf8deeac  | Update package references in MvcMovie.csproj            |
| 9c4b13f9  | Update WpfMovie.csproj to target .NET 9.0               |
| b8d85e97  | Update test projects to .NET 9 and enhance dependencies |

## Test Results

| Project Name           | Passed | Failed | Skipped |
|:-----------------------|:------:|:------:|:-------:|
| RazorMovie.Tests       |   0    |   0    |    0    |
| MvcMovie.Tests         |   2    |   0    |    0    |
| WpfMovie.Tests         |   6    |   1    |    0    |

## Next steps

- Review the test results and address the single failing test in `WpfMovie.Tests`.
- Ensure all updated NuGet packages are compatible with your application.
- Leverage new features and improvements in .NET 9.0 for your projects.

Telemetri

Araç yalnızca proje türleri, yükseltme amacı ve yükseltme süresi hakkında veri toplar. Veriler Visual Studio aracılığıyla toplanır ve birleştirilir, ve kullanıcıyı tanımlayan herhangi bir bilgi içermez. Microsoft'un gizlilik ilkesi hakkında daha fazla bilgi için bkz. Visual Studio Müşteri Deneyimini Geliştirme Programı.