在我目前的项目中,一个Windows应用程序而不是一个网页,我打破了大型项目的子组件(解决方案)。最初,该项目是在Delphi中创建的,所有子组件都是分离的,并且已经过时。当它转换为C#时,它结合在一起,所有子组件现在都在运行。这会产生太多的依赖关系,并且在为客户支持项目时禁止我们的敏捷开发工作。
我们使用公共存储库来处理项目中使用的所有功能,共有40个不同的组件,不包括我目前正在分解的组件。我已经从解决方案中为我的项目块分解了各个组件,并将它们转换为使用公共文件并编译它们。他们现在各自都在自己的解决方案中。我是最后一个组件,它引用了以前分解的组件。这就是我的问题......
由于所有组件使用相同的公共文件,使用相同的命名空间,并且所有组件都链接到个别项目中的个别项目中,因此我得到了歧义。我该如何解决这个问题?
我在互联网上搜索了一个答案然后空了。我发现问题的最接近的解决方案是使用别名:
extern别名myExemHelper; 使用myExemHelper :: FS.ExemHelper;
但这并没有解决问题。我还尝试直接在单元中引用组件,以绕过在项目中引用它。与我在单元测试中所做的相同,但是也没有用。
此外,我已经与办公室的其他一些开发人员进行了协商,我们很难过。我怎么能不公开引用组件中的公共来消除歧义?
感谢您提供的任何帮助!!
答案 0 :(得分:1)
您不使用常见的源文件。将公共源文件放入其自己的库中,并在项目之间共享编译库。