如何将C#代码编译为库而不是可执行文件?

Rex*_*exE 8 c# dll visual-studio

我在Visual Studio 2010中有一个C#控制台应用程序.它有一个Main()方法以及一堆实用程序类.我希望这些实用程序类可用于其他解决方案.从在线阅读看来,我需要将其编译为类库(DLL).所以这就是我做的:

  • 在Visual Studio中"Project> [ProjectName]属性>应用程序"并将"输出类型"从"控制台应用程序"更改为"类库"
  • 重建; ProjectName.dll是在bin/Debug中创建的.
  • 创建了一个新的控制台应用程序
  • Solution Explorer> Add Reference>浏览到ProjectName.DLL,选择它.

但是,IntelliSense和对象浏览器都无法在该DLL中找到类.

我尝试将几个不同的控制台应用程序重新编译为类库并获得相同的结果.我还注意到,如果我最初将解决方案创建为类库,它会起作用,但如果我稍后将其转换为一个,则不行.

有小费吗?

Mar*_*ell 6

您不需要将其构建为dll.VS 2010(和IIRC 2008)允许引用exe程序集.您需要的只是声明它们的相关类型public- internal如果您不添加说明符,则顶级类将无效.