EDIT: Ich habe eine Klassenbibliothek, die schnell und ich habe beschlossen, wächst es etwas zu organisieren ... Die Klassenbibliothek Namespaces sind wie folgt strukturiert:Probleme mit Klassenbibliothek mit verschachtelten Namensräumen
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Web;
namespace ClassLibrary1
{
namespace FirstNS
{
public class Class1
{
ReportDocument report = new ReportDocument();
public static void ShowMe()
{
Console.WriteLine("Class1");
}
}
}
namespace SecondNS
{
public class Class2
{
public static void ShowMe()
{
Console.WriteLine("Class2");
}
}
}
}
Es kompiliert gut. Wenn ich versuche, die kompilierte DLL zu konsumieren, indem ich sie in einer Konsolenanwendung verweise, kann ich den Namespace mit der using-Direktive referenzieren. Jedoch, wenn ich versuche, die Anwendung zu bauen, sagt es "der Typ oder Namespace Name 'ClassLibrary1' konnte nicht gefunden werden ...".
Ich habe herausgefunden, dass das Entfernen der CrystalDecisions Assemblies das Problem behebt, ich bin mir nur nicht sicher warum. - So seltsam es auch klingen mag, das Problem bezieht sich auf verschachtelte Namespaces. Wenn ich separate Namespaces verwende, ist das Problem verschwunden.
Können wir einige Beispielcode in diesen Namespaces sehen und auch Code aufrufen. Ich gehe davon aus, dass Sie beide mit a.b; mit a.c; '? –
Haben Sie Klassennamen, die mit Namensbereichsnamen übereinstimmen? Ein kurzes aber vollständiges Beispiel würde hier wirklich helfen ... –
@Matthew: Es scheint mir egal zu sein, wie ich es nenne, aber sagen wir, ich nenne nur eins. @ Jon: Nein. Klassennamen sind anders. Ich habe den Post bearbeitet ... –