gpt4 book ai didi

c# - CS0436 : Type conflicts with the imported type

转载 作者:IT王子 更新时间:2023-10-29 04:42:25 28 4
gpt4 key购买 nike

我使用“添加为链接”选项在多个程序集中包含相同源文件的实例。我特别需要在这些程序集中包含相同来源的实例,因为它负责必须在程序集内部进行的许可证验证。跨模块边界执行许可调用可能会带来安全风险。

我的解决方案中包含代码的一些项目依赖于也包含它的其他模块,导致警告 CS0436 :

"The type [type] in [licence.cs full path] conflicts with the imported type [LicenceClass] in [dependency project also including licence.cs]. Using the type defined in [licence.cs full path]".

我曾尝试声明类别名,但 licence.cs 内部的定义会导致相同的警告。在别名中,必须引用导致相同警告的重复类名。

我知道在程序集之间复制源代码是不好的做法,但在这种情况下是有意的。我宁愿保留每个程序集链接到的中央实例,而不是保留具有重命名类的专用实例以避免警告。

我的解决方法是使用 #pragma 忽略警告。有没有更优雅的解决方案?

最佳答案

值得注意的是,另一种获得此类警告的方法是在 visual studio 中简单地设置一个项目来引用自身:References -> Solution -> etc 等等(我是如何想出这个 gem 的,留给读者作为练习...)

Visual Studio 会很乐意遵守,只是在构建期间抛出一堵 OP 所描述类型的警告墙,这是意料之中的(经过反射(reflection)),因为每个类等都被定义了两次。

关于c# - CS0436 : Type conflicts with the imported type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14962066/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com