Ini adalah fitur transformasi Web.config baru dari Visual Studio 2010. Informasi lebih lanjut di sini .
Edit:
Apakah file-file ini digunakan untuk menentukan debug dan merilis pengaturan tertentu, sehingga Anda tidak mengacaukan web.config utama?
Ini tidak terbatas pada tiga file, Anda dapat (secara teori) memiliki file sebanyak yang Anda miliki. Web.config "tingkat atas" menyediakan template konfigurasi web Anda. File di bawahnya memberikan nilai pengganti khusus untuk lingkungan itu (seperti jika Anda memiliki string koneksi yang berbeda untuk lokal / stage / test / apa saja).
Apakah masuk akal untuk menempatkan string koneksi di file root web.config jika saya memiliki yang lokal dan remote di debug dan rilis web.configs masing-masing.
Ini hanya akan masuk akal jika tidak akan berubah antar lingkungan. Kedengarannya seperti dalam kasus Anda itu melakukannya, dalam kasus Anda tidak, tidak masuk akal untuk meninggalkannya di Web.config.