Tentunya. Anda bisa mendapatkan kesalahan kompilator "Ambiguous Reference", ketika dua objek tidak dapat dibedakan. Biasanya, Anda dapat menentukan path lengkap dalam kode dan itu tidak akan menyebabkan masalah, tetapi jika dll sepenuhnya identik, maka Anda tidak akan dapat membedakan antara dua objek dengan cara apa pun. Sya kami memiliki dua dll:
System.IO yang berisi kelas File
dan
MyProject.IO yang berisi kelas File
Jika Anda memiliki sesuatu seperti ini ...
using System.IO;
using MyProject.IO;
...
private void foo()
{
File f = new File();
}
... Anda akan memiliki referensi yang ambigu, karena tidak ada cara untuk mengetahui file mana yang Anda bicarakan. Ini akan memperbaikinya:
using System.IO;
using MyProject.IO;
...
private void foo()
{
MyProject.IO.File f = new MyProject.IO.File();
}
Satu-satunya cara akan sulit untuk memperbaikinya adalah jika jalur "File" identik di kedua majelis, tetapi itu akan membutuhkan situasi yang tidak mungkin di mana dua dll memiliki struktur namespace yang identik. Sebagai contoh, situasi saya di atas tidak akan pernah terjadi, karena tidak ada yang akan menyebutkan proyek di sana "Sistem" (dengan pengecualian dari pengembang aktual kerangka .Net).