我有一个共享项目(SharedProject1)
,其中包含名为myDataInfo.cs
的类和2个库(Common.csproj and CustomControls.csproj)
,这两个库使用SharedProject1。现在,我正在名为Test.csproj
的项目中使用这两个库。现在,当我想使用myDataInfo.cs时,我收到一条错误消息,显示
myDataInfo.cs存在于通用.csproj和自定义控件.csproj中
我有一个共享项目(SharedProject1)
,其中包含名为myDataInfo.cs
的类和2个库(Common.csproj and CustomControls.csproj)
,这两个库使用SharedProject1。现在,我正在名为Test.csproj
的项目中使用这两个库。现在,当我想使用myDataInfo.cs时,我收到一条错误消息,显示
myDataInfo.cs存在于通用.csproj和自定义控件.csproj中
2条答案
按热度按时间brtdzjyr1#
共享项目共享源代码,而不是编译的代码。这意味着如果两个项目共享相同的代码,它们将编译两次。这导致
Common
中有两个不同的类型myDataInfo
,CustomControls
中有一个myDataInfo
。它们碰巧具有相同的名称,但它们是两个不同的类型。这是因为类型是由它们的fully qualified type names标识的,fully qualified type names由程序集名称规范、命名空间规范和类型名称组成。因此,必须共享程序集(DLL、EXE、包或项目引用),而不是源代码(共享项目)。
在
Test
中,只有当Test
直接访问myDataInfo
时才需要引用SharedProject1
。另见:
rhfm7lfc2#
库不应该使用项目。项目依赖于库。看起来像是你的应用程序的结构问题。我对依赖树的建议:测试.csproj -〉共享项目1.csproj-〉(通用.csproj、自定义控件.csproj)