我有一个“共同”项目。我们称之为:MyProject.Common 该项目有一个命名空间Serials.Licensing,它包含一个带有静态变量的许可类。
所以这将是共同项目的结构:
MyProject.Common (dll)
| -> Serials.Licensing (namespace)
| -> License (class with static variables)
使用IlMerge,我将这个程序集合并到两个不同的程序集中(A.dll,B.dll)。这将是2个使用IlMerge创建的程序集的结果:
assemblyA (dll)
| -> Serials.Licensing (namespace)
| -> License (class with static variables)
| class "classA" using the License class of this dll
并且
assemblyB (dll)
| -> Serials.Licensing (namespace)
| -> License (class with static variables)
| class "classB" using the License class of this dll
如您所见,两个程序集都有类(classA,classB),它们使用在自己的程序集中合并的License类
如果在一个新项目(projectC)中,我引用了dll A和dll B.在类License中是否会出现与静态变量有关的问题(如冲突)?
我很困惑,因为我不知道dll A和dll B是否都有自己的“上下文”,或者是否会出现问题,因为命名空间和类型与License类的静态变量相同。
答案 0 :(得分:0)
如果您尝试访问该类型中的某些内容,则会收到编译错误,告知您,A.dll和B.dll中都存在类型许可证。所以这对你不起作用。 如果你从不访问该类型,项目应该编译得很好。