正确组织C#中项目之间的依赖关系

问题描述 投票:0回答:1

下午好。我应该如何使用C#,.NET平台和Visual Studio项目组织以下结构?

解决方案应包含多个项目(结果为dll或winmd)。 FrameworkBFrameworkC依赖于FrameworkA。来自ClassAFrameworkA,来自ClassDFrameworkB和来自ClassFFrameworkC是公共的,并且对框架用户可见;他们无法访问其他类(不可能创建对象或调用方法)。在这种情况下,从ClassEClassG我们应该能够使用ClassBClassC的方法。

所以:

  • FrameworkAFrameworkBFrameworkC应该是不同的.dll.winmd文件(但BC依赖于A)。
  • ClassBClassCClassEClassG应该是框架最终用户的私有,但BC应该可见并使用EG
Solution
    FrameworkA
        ClassA
        ClassB
        ClassC
    FrameworkB
        ClassD
        ClassE
    FrameworkC
        ClassF
        ClassG
c# .net visual-studio frameworks dependencies
1个回答
0
投票

根据this answer,您可以使用InternalsVisibleTo属性并在类B和C上使用内部访问修饰符。

这样,第一个程序集中的类可以由其他两个使用,但不能由客户端编写的软件使用。

© www.soinside.com 2019 - 2024. All rights reserved.