我在c#中有一个包含很少项目的解决方案,我想在一个项目上添加一个引用到另一个项目,但是在我添加之后,我添加引用的项目没有检测到这个dll中的所有类。似乎并非所有类都编译到dll中。
有谁知道原因?
答案 0 :(得分:6)
您需要创建类public
,以便其他项目可以使用它们。
如果这没有帮助,请尝试重建解决方案。
答案 1 :(得分:4)
另一种可能性是没有包含类文件进行编译。
在Visual Studio中,确保将文件的Build Action属性设置为Compile。
答案 2 :(得分:3)
引用项目中的类应具有显式修饰符“public”。
答案 3 :(得分:0)
顶级类默认为“内部”访问,因此仅适用于同一程序集(dll)中的类型。最喜欢你的一些类型包括“公共”(并因此可用),而有些则不包括(因此不可用)。
你还应该检查你想要使用这些类型的文件中是否有所有必要的“使用”指令。
答案 4 :(得分:0)
我有同样的问题。确保将类定义为“public”。默认情况下,类是内部的。
答案 5 :(得分:0)
刚出现这个问题:我有两个DLL,一个dll引用另一个:其他dll是Framework 4.5.2,One 3.5 ......那些必须是相同的。 我将它们都设置为3.5(Unity3D需要,因为这是我正在处理的) 然后它没有内部构建。