Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 错误:以下方法或属性之间的调用不明确…需要帮助吗_C#_Alias_Extern_Ambiguity - Fatal编程技术网

C# 错误:以下方法或属性之间的调用不明确…需要帮助吗

C# 错误:以下方法或属性之间的调用不明确…需要帮助吗,c#,alias,extern,ambiguity,C#,Alias,Extern,Ambiguity,在我目前的项目中,我是一个windows应用程序,而不是一个网页,我专注于分解一个大型项目(解决方案)的子组件。最初,该项目是在Delphi中创建的,所有子组件都是seporate,并且没有经过处理。当它被转换为C#时,它被组合起来,所有子组件现在都在进程中运行。这造成了太多的依赖性,并且在为客户支持项目时阻碍了我们的敏捷开发工作 我们为整个项目使用的所有功能使用一个公共存储库,总共40多个不同的组件,不包括我目前正在分解的组件。我已经为我的项目块从解决方案中分离出各个组件,并将它们转换为使用公

在我目前的项目中,我是一个windows应用程序,而不是一个网页,我专注于分解一个大型项目(解决方案)的子组件。最初,该项目是在Delphi中创建的,所有子组件都是seporate,并且没有经过处理。当它被转换为C#时,它被组合起来,所有子组件现在都在进程中运行。这造成了太多的依赖性,并且在为客户支持项目时阻碍了我们的敏捷开发工作

我们为整个项目使用的所有功能使用一个公共存储库,总共40多个不同的组件,不包括我目前正在分解的组件。我已经为我的项目块从解决方案中分离出各个组件,并将它们转换为使用公共文件并编译它们。它们现在都有各自的解决方案。我现在讨论最后一个组件,它引用了以前分解的组件。这就是我的问题所在

由于所有组件都使用相同的公共文件,使用相同的名称空间,并且所有组件都链接到各自解决方案中的各个项目中,因此我得到了一个模糊性。我该如何解决这个问题

我在网上搜索答案,结果一无所获。对于我发现的问题,最接近的解决方案是使用别名:

外部别名myExemHelper; 使用myExemHelper::FS.ExemHelper

但这并不能解决问题。我还尝试在单元中直接引用组件,以避免在项目中引用它。和我在单元测试中做的一样,但那也不起作用

此外,我还与办公室里的其他一些开发人员进行了磋商,我们都被难住了。我如何才能不公开引用组件中的公共项以消除歧义


谢谢你能提供的任何帮助

您不使用公共源文件。将公共源文件放入它自己的库中,并在项目之间共享已编译的库。

不要在两个项目中定义同一类。这是麻烦的秘诀。谢谢你的帮助!!我试图避免携带大量多余的代码,因为许多不同的组件都使用公共单元,我不需要所有额外的功能。但是如果这不可能,那么我将被迫使用一个公共库来完成这个突破。