Vb.net 类库与否?

Vb.net 类库与否?,vb.net,Vb.net,我有两个项目;A和B,其中B需要使用项目A中的一些类。因此,我将B添加到A的解决方案中,并在B中添加了对项目A的引用 这明智吗?还是我应该把这些类放在类库中 我看到,如果我还想从项目a的菜单选项中打开表单/程序B,那么a需要对B的引用。如果B已经对a进行了引用,这是不可能的。但是,如果我对公共类使用类库,那么B就不需要对a的引用了 这听起来合乎逻辑吗?了解将项目放在同一个解决方案中的典型原因是什么,以及是否建议积极使用库来重构两个项目之间的公共代码,即使只是几个类。。但我从来没有建立过自己的图书

我有两个项目;A和B,其中B需要使用项目A中的一些类。因此,我将B添加到A的解决方案中,并在B中添加了对项目A的引用

这明智吗?还是我应该把这些类放在类库中

我看到,如果我还想从项目a的菜单选项中打开表单/程序B,那么a需要对B的引用。如果B已经对a进行了引用,这是不可能的。但是,如果我对公共类使用类库,那么B就不需要对a的引用了


这听起来合乎逻辑吗?了解将项目放在同一个解决方案中的典型原因是什么,以及是否建议积极使用库来重构两个项目之间的公共代码,即使只是几个类。。但我从来没有建立过自己的图书馆,所以有点不确定什么时候使用它。如果你有一些原则,我很高兴听到

对我来说,这听起来像是一个完美的类库用例


将公共功能放在第三个类库项目中,并有a和B引用。

对我来说,类库听起来是一个完美的用例


将公共功能放在第三个类库项目中,并具有a和B引用。

原则上,应避免循环依赖关系,因此创建类库并添加对该类库的引用是有意义的。

原则上,要避免循环依赖,因此创建一个类库并添加对该类库的引用是有意义的。

类库将是一个很好的解决方案,尤其是如果您计划拥有一个引用B


如果您需要一个或B来实际实现这些类的一些功能,您可以考虑创建一个具有对象接口的类库,这样A和B可以在它们自己实现的接口之间来回传递对象。特别是如果你计划有一个曾经的参考B


如果您需要一个或B来实际实现这些类的一些功能,您可以考虑创建一个具有对象接口的类库,这样A和B可以在它们自己实现的接口之间来回传递对象。

如果您计划在两个项目中使用相同的类,则共享库是走的路。这不仅仅是方便。如果在包含exe的不同程序集中定义了两个具有相同名称、命名空间和成员的相同类,则认为它们是完全不同的类型。将普通类移入类库C,并在A和B中引用C。一个众所周知的指导原则是DRY:不要重复你自己


-Oisin

如果您计划在两个项目中使用相同的类,那么共享库是一个不错的选择。这不仅仅是方便。如果在包含exe的不同程序集中定义了两个具有相同名称、命名空间和成员的相同类,则认为它们是完全不同的类型。将普通类移入类库C,并在A和B中引用C。一个众所周知的指导原则是DRY:不要重复你自己


-通常,类库用于多个项目之间的公共功能。换句话说,这正是你要面对的。所以你应该把它放到类库中

因此,有两种可能性:如果两个项目之间的公共functionality总是相同的,那么它应该是一个单独的项目。如果它可以改变一个而不是另一个,那么将它复制到两个项目中。您仍然应该将其重构到类库中,因为这将使它最初变得更容易。还要注意,在第一种情况下,将有另一个项目需要维护,它有自己的发布时间表和管理难题


通常,单个解决方案中的多个项目是一个用户界面、各种库和其他支持项目。如果有多个用户界面,它们通常与同一系统关联,例如用户界面和管理界面,或者可能与不同平台的界面关联。

通常,类库用于多个项目之间的通用功能。换句话说,这正是你要面对的。所以你应该把它放到类库中

因此,有两种可能性:如果两个项目之间的公共functionality总是相同的,那么它应该是一个单独的项目。如果它可以改变一个而不是另一个,那么将它复制到两个项目中。您仍然应该将其重构到类库中,因为这将使它最初变得更容易。还要注意,在第一种情况下,将有另一个项目需要维护,它有自己的发布时间表和管理难题

通常,单个解决方案中的多个项目是一个用户界面
d各种图书馆和其他支持项目。如果有多个用户界面,它们通常与同一个系统关联,例如用户界面和管理界面,或者可能是不同平台的界面。

不同类型,这是否意味着即使两个类在两个单独的项目中相同,无法跨?@bretddog:正确成功序列化/理想化它们。如果程序集已签名,则类型标识由其强名称、程序集本身、程序集版本以及类的名称空间+名称组成。不同的类型,这是否意味着即使两个类在两个单独的项目中相同,它们也无法在整个项目中成功序列化/理想化?@bretddog:正确。如果程序集已签名,则类型标识由其强名称、程序集本身、程序集版本以及类的名称空间+名称组成。。目前的情况是,一个程序需要在运行时或通过序列化到另一个程序可以加载的文件,将对象传递给另一个程序。因此,似乎该对象类必须位于单独的project/dll库中。。如果我理解正确,我明白了。。目前的情况是,一个程序需要在运行时或通过序列化到另一个程序可以加载的文件,将对象传递给另一个程序。因此,似乎该对象类必须位于单独的project/dll库中。。如果我理解正确的话。