Ich habe Projekt B
je nach Projekt A
, die eine Bibliothek ist, die ihre eigenen Abhängigkeiten hat.Verknüpfungsabhängigkeiten einer C# -Bibliothek
Im Projekt A
ich verweisen auf die Baugruppen, die Dependency1Base<T>
und Dependency2Class
definieren, und definieren MyClass
wie folgt aus:
namespace MyNamespace
{
public class MyClass: Dependency1Base<Dependency2Class>
{
}
}
Im Projekt B
ich Referenz nur Projekt A
und versuchen, Instanz MyClass
namespace MyNamespace
{
public class B
{
public void main()
{
var myInstance = new MyClass();
}
}
}
Projekt A
baut sich gut, aber wenn ich versuche, Projekt B
zu bauen, erhalte ich eine Fehlermeldung mir, dass Dependency1Base
und Dependency2Class
in einer Baugruppe definiert sind, die nicht referenziert ist. Ich frage mich, ob es eine Möglichkeit gibt, diese Definitionen im Projekt A
zu verlinken, so dass ich diese Referenzen nicht zum Projekt B
hinzufügen muss? oder muss ich immer die Abhängigkeiten des Projekts A
in jedem anderen Projekt, das MyClass
verwendet, referenzieren?
Warum möchten Sie keine Referenz in Projekt 'B' hinzufügen? –
Die Tatsache, dass 'MyClass' von' Dependency1Base erbt, ist Teil der öffentlichen Schnittstelle von 'MyClass'. Wenn Sie' MyClass' verwenden wollen, müssen Sie auf die Assembly verweisen, in der 'Dependency1Base' und' Dependency2Class' stehen sind festgelegt. –
Blorgbeard
@Blorgbeard also, um eine Klasse zu verwenden, die in einer referenzierten Assembly definiert ist, muss ich immer auf alle Assemblies verweisen, die ihre Vorgängerklassen definieren? –