Visual Studio 2010 Namespace Visibility Conundrum
Dalam Visual Studio 2010, isu yang membingungkan telah timbul di mana ruang nama dalam projek DLL tiba-tiba menjadi tidak kelihatan kepada projek boleh laku yang merujuk (Kotak Pasir). Isu ini timbul selepas menambahkan System.Web dan kod yang kelihatan jinak pada projek DLL.
Menyelesaikan masalah
Percubaan awal untuk menyelesaikan isu dengan mengalih keluar dan menambah semula DLL rujukan dalam projek Kotak Pasir memberikan kelegaan sementara, tetapi masalah berterusan apabila cuba membina penyelesaian. Penyemak imbas objek dalam Visual Studio mengesahkan kehadiran ruang nama dalam rujukan projek DLL.
Petunjuk dan Resolusi
Selepas meneliti perubahan dengan teliti, baris kod tertentu telah dikenal pasti sebagai penyebab yang jelas:
string url = "http://maps.google.com?q=" + HttpUtility.UrlEncode(address);
Ulas baris ini menghapuskan ralat ruang nama dan membenarkan projek dibina dengan jayanya.
Pepijat Didedahkan
Isu ini berpunca daripada pemilihan lalai Profil Pelanggan .NET Framework 4 dalam tetapan Rangka Kerja Sasaran untuk projek yang terjejas. Profil ini tidak termasuk System.Web, yang diperlukan untuk kod yang dipersoalkan.
Pembetulan
Penyelesaiannya ialah menukar Rangka Kerja Sasaran secara manual kepada ".NET Framework 4" dalam Properties Projek di bawah tab Aplikasi. Ini memastikan bahawa Rangka Kerja .NET penuh 4 digunakan, termasuk System.Web.
Peningkatan Masa Depan
Dalam Visual Studio 2012, isu ini telah diselesaikan dengan menghapuskan Profil Pelanggan sebagai pilihan lalai untuk projek baharu. Dengan persaraan Profil Pelanggan dalam .NET 4.5, isu ini telah ditangani secara kekal.
Atas ialah kandungan terperinci Mengapa Ruang Nama Saya Tidak Kelihatan dalam Visual Studio 2010 Selepas Menambah System.Web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!