

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengubah aplikasi.NET dengan Pengembang Amazon Q
<a name="transform-dotnet-IDE"></a>

Amazon Q Developer dapat mem-port aplikasi.NET berbasis Windows Anda ke aplikasi .NET lintas platform yang kompatibel dengan Linux melalui alur kerja refactoring bertenaga AI generatif. Amazon Q juga membantu Anda meningkatkan versi lama aplikasi .NET lintas platform ke versi yang lebih baru. 

Untuk mengubah solusi atau proyek .NET, Amazon Q menganalisis basis kode Anda, menentukan pembaruan yang diperlukan untuk mem-port aplikasi Anda, dan membuat rencana transformasi sebelum transformasi dimulai. Selama analisis ini, Amazon Q membagi solusi atau proyek .NET Anda menjadi grup kode yang dapat Anda lihat dalam rencana transformasi. *Grup kode* adalah proyek dan semua dependensinya yang bersama-sama menghasilkan unit kode yang dapat dibangun seperti pustaka tautan dinamis (DLL) atau yang dapat dieksekusi. 

Selama transformasi, Amazon Q menyediakan step-by-step pembaruan di Hub Transformasi tempat Anda dapat memantau kemajuan. Setelah mengubah aplikasi Anda, Amazon Q menghasilkan ringkasan dengan perubahan yang diusulkan dalam tampilan diff agar Anda dapat memverifikasi perubahan secara opsional sebelum Anda menerimanya. Saat Anda menerima perubahan, Amazon Q membuat pembaruan di tempat untuk solusi atau proyek .NET Anda. 

Amazon Q melakukan empat tugas kunci untuk mem-port aplikasi.NET ke Linux:
+ **Upgrade versi bahasa - Menggantikan versi** kode C \$1 yang sudah ketinggalan zaman dengan versi C \$1 yang kompatibel dengan Linux.
+ **Bermigrasi dari .NET Framework ke lintas platform .NET** - Migrasi proyek dan paket dari .NET Framework yang bergantung pada Windows ke lintas platform .NET yang kompatibel dengan Linux.
+ **Menulis ulang kode untuk kompatibilitas Linux** — Memfaktorkan ulang dan menulis ulang komponen kode yang tidak digunakan lagi dan tidak efisien.
+ **Menghasilkan laporan kesiapan kompatibilitas Linux** — Untuk tugas terbuka di mana intervensi pengguna diperlukan untuk membuat kode dibangun dan dijalankan di Linux, Amazon Q menyediakan laporan terperinci tentang tindakan yang diperlukan untuk mengonfigurasi aplikasi Anda setelah transformasi.

Untuk informasi selengkapnya tentang cara Amazon Q melakukan transformasi.NET, lihat [Cara kerjanya](how-dotnet-transformation-works.md). 

**Topics**
+ [Kuota](#quotas-dotnet-transformation)
+ [Mem-porting aplikasi.NET dengan Pengembang Amazon Q di Visual Studio](port-dotnet-application.md)
+ [Bagaimana Pengembang Amazon Q mengubah aplikasi.NET](how-dotnet-transformation-works.md)
+ [Memecahkan masalah dengan transformasi.NET di IDE](troubleshooting-dotnet-transformation-IDE.md)

## Kuota
<a name="quotas-dotnet-transformation"></a>

.NET transformasi dengan Amazon Q di IDE mempertahankan kuota berikut: 
+ **Baris kode per pekerjaan** — Jumlah maksimum baris kode yang dapat diubah Amazon Q dalam pekerjaan transformasi tertentu. Ini juga merupakan batas total bulanan untuk transformasi.NET. 
+ **Pekerjaan Bersamaan** — Jumlah maksimum pekerjaan transformasi yang dapat Anda jalankan pada saat yang bersamaan. Kuota ini berlaku untuk semua transformasi dalam IDE, termasuk transformasi [Java](transform-java.md).


| Sumber daya | Kuota | 
| --- | --- | 
| Baris kode per pekerjaan | 100.000 baris kode | 
| Tugas bersamaan |  1 pekerjaan per pengguna 2 lowongan per AWS akun  | 

# Mem-porting aplikasi.NET dengan Pengembang Amazon Q di Visual Studio
<a name="port-dotnet-application"></a>

Selesaikan langkah-langkah ini untuk mem-port aplikasi.NET berbasis Windows ke aplikasi .NET lintas platform yang kompatibel dengan Linux dengan Pengembang Amazon Q di Visual Studio. 

## Langkah 1: Prasyarat
<a name="transform-dotnet-prerequisites"></a>

Sebelum melanjutkan, pastikan Anda telah menyelesaikan langkah-langkah dalam [Mengatur Amazon Q di IDE Anda](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE.html).

Pastikan bahwa prasyarat berikut untuk aplikasi Anda terpenuhi sebelum Anda memulai pekerjaan transformasi.NET:
+ Aplikasi Anda hanya berisi proyek.NET yang ditulis dalam C \$1.
+ Aplikasi Anda hanya memiliki dependensi paket yang ditulis Microsoft NuGet 
+ Aplikasi Anda hanya menggunakan karakter UTF-8. Jika aplikasi Anda menggunakan karakter non-UTF-8, Amazon Q masih akan mencoba mengubah kode Anda.
+ Jika aplikasi Anda bergantung pada Layanan Informasi Internet (IIS), hanya konfigurasi IIS default yang digunakan
+ Amazon Q akan mengevaluasi jenis proyek yang Anda pilih dan dependensinya untuk membuat grup kode. Grup kode Anda hanya dapat memiliki jenis proyek berikut:
  + Aplikasi konsol
  + Perpustakaan kelas 
  + API Web
  + Layanan WCF
  + Lapisan logika bisnis Model View Controller (MVC) dan Aplikasi Halaman Tunggal (SPA)
  + Proyek uji

**catatan**  
Amazon Q tidak mendukung transformasi komponen lapisan UI seperti Razor tampilan atau file WebForms ASPX. Jika Amazon Q mendeteksi komponen lapisan UI dalam solusi atau proyek Anda, Amazon Q akan melakukan transformasi sebagian dengan mengecualikan komponen lapisan UI, dan Anda mungkin perlu melakukan refactor lebih lanjut untuk membuat kode Anda dapat dibangun pada versi.NET target.

## Langkah 2: Ubah aplikasi Anda
<a name="transform-dotnet-app"></a>

Untuk mengubah solusi atau proyek .NET Anda, selesaikan prosedur berikut:

1. Buka solusi atau proyek berbasis C \$1 apa pun di Visual Studio yang ingin Anda ubah. 

1. Buka file kode C \$1 apa pun di editor. 

1. Pilih **Solution Explorer**.

1. Dari Solution Explorer, klik kanan solusi atau proyek yang ingin diubah, lalu pilih **Port dengan Amazon Q Developer**.

1. Jendela **Port dengan Pengembang Amazon Q** muncul. 

   Solusi atau proyek yang Anda pilih akan dipilih di menu tarik-turun **Pilih solusi atau proyek untuk mengubah**. Anda dapat memperluas menu untuk memilih solusi atau proyek yang berbeda untuk diubah. 

   Di menu tarik-turun **Pilih target.NET**, pilih versi.NET yang ingin Anda tingkatkan.

1. Pilih **Konfirmasi** untuk memulai transformasi.

1. Amazon Q mulai mengubah kode Anda. Anda dapat melihat rencana transformasi yang dihasilkannya untuk detail tentang bagaimana hal itu akan mengubah aplikasi Anda.

   **Hub Transformasi** terbuka di mana Anda dapat memantau kemajuan selama durasi transformasi. Setelah Amazon Q menyelesaikan langkah **startup Menunggu transformasi pekerjaan**, Anda dapat menavigasi jauh dari proyek atau solusi selama durasi transformasi.

1. Setelah transformasi selesai, navigasikan ke **Transformation Hub** dan pilih **View diffs** untuk meninjau perubahan yang diusulkan dari Amazon Q dalam tampilan diff. 

1. Pilih **Lihat ringkasan transformasi kode** untuk detail tentang perubahan yang dibuat Amazon Q. Anda juga dapat mengunduh ringkasan transformasi dengan memilih **Unduh ringkasan sebagai.md.** 

   Jika salah satu item dalam tabel **Grup Kode** memerlukan input di bawah status porting Linux, Anda harus memperbarui beberapa file secara manual untuk menjalankan aplikasi Anda di Linux. 

   1. Dari menu tarik-turun **Tindakan**, pilih **Unduh laporan kesiapan Linux**. 

   1. File.csv terbuka dengan perubahan apa pun pada proyek atau solusi Anda yang harus Anda selesaikan sebelum aplikasi Anda kompatibel dengan Linux. Ini termasuk proyek dan file yang perlu diperbarui, deskripsi item yang akan diperbarui, dan penjelasan tentang masalah tersebut. Gunakan kolom **Rekomendasi** untuk ide tentang cara mengatasi masalah kesiapan Linux. 

1. Untuk memperbarui file Anda di tempat, pilih **Terima perubahan** dari menu tarik-turun **Tindakan**. 

# Bagaimana Pengembang Amazon Q mengubah aplikasi.NET
<a name="how-dotnet-transformation-works"></a>

Tinjau bagian berikut untuk detail tentang cara kerja transformasi.NET dengan Amazon Q Developer. 

## Menganalisis aplikasi Anda dan menghasilkan rencana transformasi
<a name="analyzing-app-generating-plan"></a>

Sebelum transformasi dimulai, Amazon Q membuat kode Anda secara lokal untuk memastikannya dapat dibangun dan dikonfigurasi dengan benar untuk transformasi. Amazon Q kemudian mengunggah kode Anda ke lingkungan build yang aman dan terenkripsi AWS, menganalisis basis kode Anda, dan menentukan pembaruan yang diperlukan untuk mem-port aplikasi Anda. 

Selama analisis ini, Amazon Q membagi solusi atau proyek .NET Anda ke dalam kelompok kode. Grup kode adalah proyek dan semua dependensinya yang bersama-sama menghasilkan unit kode yang dapat dibangun seperti pustaka tautan dinamis (DLL) atau yang dapat dieksekusi. Bahkan jika Anda tidak memilih semua dependensi proyek untuk diubah, Amazon Q menentukan dependensi yang diperlukan untuk membangun proyek yang Anda pilih dan mengubahnya juga, sehingga aplikasi Anda yang diubah akan dapat dibangun dan siap digunakan.

Setelah menganalisis kode Anda, Amazon Q menghasilkan rencana transformasi yang menguraikan perubahan yang diusulkan yang akan dibuatnya, termasuk daftar grup kode dan dependensi mereka yang akan diubah. 

## Mengubah aplikasi Anda
<a name="transforming-app"></a>

Untuk memulai transformasi, Amazon Q membuat kode Anda lagi di lingkungan build yang aman untuk memastikannya dapat dibangun dari jarak jauh. Amazon Q kemudian mulai mem-porting aplikasi Anda. Ini bekerja dari bawah ke atas, dimulai dengan ketergantungan tingkat terendah. Jika Amazon Q mengalami masalah dengan porting dependensi, Amazon Q menghentikan transformasi dan memberikan informasi tentang apa yang menyebabkan kesalahan. 

Transformasi mencakup pembaruan berikut untuk aplikasi Anda: 
+ Mengganti versi kode C \$1 yang sudah ketinggalan zaman dengan versi C\$1 yang kompatibel dengan Linux
+ Meningkatkan .NET Framework ke .NET lintas platform, termasuk: 
  + Mengidentifikasi dan mengganti paket, pustaka, dan secara berulang APIs
  + Upgrade dan penggantian NuGet paket dan APIs
  + Transisi ke runtime lintas platform
  + Menyiapkan middleware dan memperbarui konfigurasi runtime
  + Mengganti paket pribadi atau pihak ketiga 
  + Menangani komponen IIS dan WCF 
  + Kesalahan pembuatan debug
+ Menulis ulang kode untuk kompatibilitas Linux, termasuk refactoring dan penulisan ulang kode usang dan tidak efisien untuk mem-port kode yang ada 

## Meninjau ringkasan transformasi dan menerima perubahan
<a name="reviewing-summary-accepting-changes"></a>

Setelah transformasi selesai, Amazon Q memberikan ringkasan transformasi dengan informasi tentang pembaruan yang diusulkan yang dibuat untuk aplikasi Anda, termasuk jumlah file yang diubah, paket diperbarui, dan APIs diubah. Ini menandai transformasi yang gagal, termasuk file atau bagian file yang terpengaruh dan kesalahan yang ditemui selama percobaan build. Anda juga dapat melihat ringkasan build dengan log build untuk mempelajari lebih lanjut tentang perubahan yang dibuat. 

Ringkasan transformasi juga menyediakan status porting Linux, yang menunjukkan apakah input pengguna tambahan diperlukan atau tidak untuk membuat aplikasi Linux kompatibel. Jika salah satu item dalam grup kode memerlukan masukan dari Anda, Anda mengunduh laporan kesiapan Linux yang berisi pertimbangan khusus Windows yang tidak dapat ditangani Amazon Q pada waktu pembuatan. Jika input diperlukan untuk grup kode atau file apa pun, tinjau laporan untuk detail tentang jenis perubahan apa yang masih perlu dilakukan dan, jika berlaku, untuk rekomendasi tentang cara memperbarui kode Anda. Perubahan ini harus dilakukan secara manual sebelum aplikasi Anda dapat dijalankan di Linux. 

Anda dapat meninjau perubahan yang diusulkan Amazon Q yang dibuat dalam tampilan diff sebelum menerimanya sebagai pembaruan di tempat untuk file Anda. Setelah memperbarui file Anda dan menangani item apa pun dalam laporan kesiapan Linux, aplikasi Anda siap dijalankan di .NET lintas platform.

# Memecahkan masalah dengan transformasi.NET di IDE
<a name="troubleshooting-dotnet-transformation-IDE"></a>

Gunakan bagian berikut untuk memecahkan masalah umum dengan transformasi.NET di IDE dengan Amazon Q Developer.

## Bagaimana saya tahu jika pekerjaan sedang berkembang?
<a name="job-progressing"></a>

Jika Amazon Q tampaknya menghabiskan waktu lama untuk melangkah di Hub Transformasi, Anda dapat memeriksa apakah pekerjaan tersebut masih aktif di log keluaran. Jika pesan diagnostik sedang dibuat, pekerjaan masih aktif. 

Untuk memeriksa output, pilih tab **Output** di Visual Studio. Di menu **Tampilkan output dari:**, pilih **Amazon Q Language Client**.

Tangkapan layar berikut menunjukkan contoh output yang dihasilkan Amazon Q selama transformasi.

![\[Screenshot dari Amazon Q Developer Code Transformation Hub, menampilkan output dari Amazon Q Language Client.\]](http://docs.aws.amazon.com/id_id/amazonq/latest/qdeveloper-ug/images/code-transform-troubleshoot4.png)


## Mengapa beberapa proyek tidak dipilih untuk transformasi?
<a name="projects-not-selected"></a>

Amazon Q hanya dapat mengubah jenis proyek yang didukung dalam bahasa C\$1. Saat ini, Amazon Q tidak mendukung porting komponen lapisan UI atau proyek yang ditulis dalam bahasa VB.NET atau F \$1. Untuk daftar jenis proyek yang didukung dan prasyarat lain untuk mengubah proyek .NET Anda, lihat. [Langkah 1: Prasyarat](port-dotnet-application.md#transform-dotnet-prerequisites)

## Bagaimana saya bisa mendapatkan dukungan jika proyek atau solusi saya tidak berubah?
<a name="get-support"></a>

Jika Anda tidak dapat memecahkan masalah sendiri, Anda dapat menghubungi Dukungan atau Akun AWS tim Anda untuk mengirimkan kasus dukungan. 

Untuk mendapatkan dukungan, berikan ID pekerjaan transformasi sehingga AWS dapat menyelidiki pekerjaan yang gagal. Untuk menemukan ID pekerjaan transformasi, pilih tab **Output** di Visual Studio. Di menu **Tampilkan output dari:**, pilih **Amazon Q Language Client**.

## Bagaimana saya bisa mencegah firewall saya mengganggu pekerjaan transformasi?
<a name="firewall-inteference"></a>

Jika organisasi Anda menggunakan firewall, itu mungkin mengganggu transformasi di Visual Studio. Anda dapat menonaktifkan sementara pemeriksaan keamanan di Node.js untuk memecahkan masalah atau menguji apa yang mencegah transformasi berjalan. 

Variabel lingkungan `NODE_TLS_REJECT_UNAUTHORIZED` mengontrol pemeriksaan keamanan penting. Pengaturan `NODE_TLS_REJECT_UNAUTHORIZED` ke “0" menonaktifkan penolakan Node.js terhadap sertifikat yang tidak TLS/SSL sah. Ini berarti:
+ Sertifikat yang ditandatangani sendiri akan diterima
+ Sertifikat kedaluwarsa akan diizinkan
+ Sertifikat dengan nama host yang tidak cocok akan diizinkan
+ Kesalahan validasi sertifikat lainnya akan diabaikan

Jika proxy Anda menggunakan sertifikat mandiri, Anda dapat mengatur variabel lingkungan berikut alih-alih `NODE_TLS_REJECT_UNAUTHORIZED` menonaktifkan:

```
NODE_OPTIONS = —use-openssl-ca
NODE_EXTRA_CA_CERTS = Path/To/Corporate/Certs
```

Jika tidak, Anda harus menentukan sertifikat CA yang digunakan oleh proxy untuk menonaktifkan`NODE_TLS_REJECT_UNAUTHORIZED`.

**Untuk menonaktifkan NODE\$1TLS\$1REJECT\$1UNAUTHORIZED pada Windows:**

1. Buka menu Start dan cari **Variabel Lingkungan**.

1. Pilih **Edit variabel lingkungan sistem**.

1. Di jendela **System Properties**, pilih **Environment Variables**.

1. Di bawah **Variabel sistem**, pilih **Baru**.

1. **Setel **nama Variabel** ke NODE\$1TLS\$1REJECT\$1UNAUTHORIZED dan nilai Variabel ke 0.**

1. Pilih **OK** untuk menyimpan perubahan.

1. Mulai ulang Visual Studio.