Tengo un proyecto .NET 3.5 C# que tiene un espacio de nombre de SampleNamespace.Tools.Sample
.El nombre de referencia no es compatible con CLS
Si añado un montaje llamado "Samplenamespace.Utils.Example" a mi proyecto me sale el siguiente aviso:
Identificador 'Samplenamespace' difiriendo sólo en caso de que no es compatible con CLS
Tenga en cuenta la minúscula 'n' en Samplenamespace
.
Ni siquiera estoy usando el ensamblaje de referencia en mi proyecto en este momento. Simplemente agregarlo como referencia causa la advertencia.
¿Por qué el compilador se queja de esto considerando que no estoy exponiendo ninguna referencia al ensamblado en mis clases públicas?
¿Alguna solución alternativa?
Gracias Ralph, todavía no entiendo por qué esto debería importar ya que mi proyecto no está exponiendo nada del ensamblado al que se hace referencia a ningún cliente potencial de VB. Estoy efectivamente abstrayendo el cliente VB del ensamblaje subyacente? – user115909
Dado que VB no distingue entre mayúsculas y minúsculas, no puede diferenciar entre SampleNamespace.A y Samplenamespace.A y, por lo tanto, no puede determinar qué tipo invocar. Para evitar dicha ambigüedad, el Compilador de C# marca esto para que solo pueda crear tipos y miembros que puedan ser invocados por todos sin ninguna ambigüedad. – Gishu
Creo que es un indicador ciego, no está considerando cómo está usando o exponiendo los tipos. – Gishu