Ho un progetto .NET 3.5 C# che ha uno spazio dei nomi di SampleNamespace.Tools.Sample
.Nome di riferimento Il caso non è conforme a CLS
Se posso aggiungere un assembly chiamato "Samplenamespace.Utils.Example" per il mio progetto ottengo il seguente avvertimento:
Identifier 'Samplenamespace' che differiscono solo nel caso in cui non è compatibile con CLS
Notare la lettera minuscola 'n' in Samplenamespace
.
Al momento non sto nemmeno utilizzando l'assembly di riferimento nel mio progetto. Semplicemente aggiungendolo come riferimento provoca l'avviso.
Perché il compilatore si lamenta di questo considerando che non sto nemmeno esponendo alcun riferimento all'assembly nelle mie classi pubbliche?
Qualsiasi soluzione alternativa?
Grazie Ralph, non riesco ancora a capire perché questo dovrebbe avere importanza dal momento che il mio progetto non espone nulla dall'associazione referenziata a nessun potenziale client VB. Sto effettivamente astrarre il client VB dall'assieme sottostante? – user115909
Poiché VB non fa distinzione tra maiuscole e minuscole, non è in grado di distinguere tra SampleNamespace.A e Samplenamespace.A e quindi non è in grado di determinare il tipo da richiamare. Per evitare tale ambiguità, il compilatore C# lo contrassegna in modo da poter creare solo tipi e membri che possono essere invocati da chiunque senza alcuna ambiguità. – Gishu
Penso che sia un check-and-flag cieco, non sta considerando come stai effettivamente usando o esponendo i tipi. – Gishu