【发布时间】:2011-06-13 20:27:24
【问题描述】:
我在 Visual Studio 2010 中有一个 C# 控制台应用程序。它有一个 Main() 方法以及一堆实用程序类。我希望这些实用程序类可用于其他解决方案。从在线阅读看来,我需要将其编译为类库(DLL)。所以这就是我所做的:
- 在 Visual Studio 中进入“项目 > [项目名称] 属性 > 应用程序”并将“输出类型”从“控制台应用程序”更改为“类库”
- 重建; ProjectName.dll 是在 bin/Debug 中创建的。
- 创建了一个新的控制台应用程序
- Solution Explorer > Add Reference > 浏览到 ProjectName.DLL,选择它。
但是,IntelliSense 和对象浏览器都无法找到该 DLL 中的类。
我尝试将几个不同的控制台应用程序重新编译为类库并得到相同的结果。我还注意到,如果我最初将解决方案创建为类库,它会起作用,但如果我稍后将其转换为类库,则不会。
有什么建议吗?
【问题讨论】:
-
我假设您知道类库中类的命名空间?如果不添加“使用命名空间;”在您的新控制台应用程序代码中,您需要完全限定对该类的命名空间引用。
-
在您的课程库中,确保您的课程也被标记为公开。
-
确保你的类和方法是公开的。
-
我将它们从内部更改为公开,并且成功了。谢谢大家。
标签: c# visual-studio dll