gpt4 book ai didi

c# - 在解决方案的多个项目中引用共享项目

转载 作者:太空狗 更新时间:2023-10-29 23:06:02 24 4
gpt4 key购买 nike

我正在尝试修复警告

Warning CS0436: The type 'Class1' in '...\SharedProject1\SharedProject1\Class1.cs' conflicts with the imported type 'Class1' in 'ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in '...\SharedProject1\SharedProject1\Class1.cs'. WpfApplication1 ...\SharedProject1\WpfApplication1\MainWindow.xaml.cs

复制:

  • 创建包含 3 个项目的解决方案:

SharedProject1(向其添加新类)

namespace SharedProject1
{
public class Class1() { }
}

类库1

namespace ClassLibrary1
{
public class Class1 { }
}

WpfApplication1(将其添加到 MainWindow 构造函数中)

public MainWindow()
{
InitializeComponent();
var a = new SharedProject1.Class1();
var b = new ClassLibrary1.Class1();
}
  • ClassLibrary1WpfApplication1 中引用 SharedProject1

  • 构建,你会得到一个警告。

问题:如何修复警告?

最佳答案

更改依赖模式:

Shared -> Class
Shared -> Application

到:

Shared -> Class -> Application

即:从 Application 中删除对 Shared 的直接引用。

第一个模式导致相同的类内置到 2 个 dll 中。这就是导致冲突的原因。在第二个模式中,共享库内置于 Class dll 中,因此 Application 也可以访问。

如果 ClassApplication 相互独立,第一个模式就可以了。

所有这一切都是因为共享项目不会生成库。因此,必须考虑让它出现在图书馆的某个地方。通常只在一个地方。这通常意味着,每个共享库应该只被引用一次。

关于c# - 在解决方案的多个项目中引用共享项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36618541/

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