私はA
というプロジェクトに依存してプロジェクトB
を持っています。それは自身の依存関係を持つライブラリです。プロジェクトA
でC#ライブラリのリンク依存関係
私はDependency1Base<T>
とDependency2Class
を定義するアセンブリを参照し、このようなMyClass
定義:プロジェクトB
で
namespace MyNamespace
{
public class MyClass: Dependency1Base<Dependency2Class>
{
}
}
を、私はプロジェクトA
を参照し、インスタンスにMyClass
namespace MyNamespace
{
public class B
{
public void main()
{
var myInstance = new MyClass();
}
}
}
を試してみてください
プロジェクトA
はうまく構築されますが、プロジェクトB
をビルドしようとすると、エラーが表示されます私はDependency1Base
とDependency2Class
は参照されていないアセンブリで定義されています。だから私はプロジェクトB
への参照を追加する必要がないように、この定義をプロジェクトA
にリンクする方法があるかどうか疑問に思っていますか?または、MyClass
を使用する他のプロジェクトで、プロジェクトA
の依存関係を常に参照する必要がありますか?
なぜ、プロジェクト 'B'に参照を追加したくないのですか? –
'MyClass'が' Dependency1Base 'から継承しているという事実は' MyClass'のパブリックインターフェースの一部です。 'MyClass'を使いたい場合は' Dependency1Base'と 'Dependency2Class'が定義される。 –
Blorgbeard
@Blorgbeardしたがって、参照されるアセンブリで定義されたクラスを使用するには、その祖先クラスを定義するすべてのアセンブリを参照する必要がありますか? –