如何将C#代码编译为库而不是可执行文件?我在VisualStudio2010中有一个C#控制台应用程序。它有一个Main()方法以及一堆实用程序类。我希望这些实用程序类可以用于其他解决方案。从在线阅读看来,我需要将其编译为类库(DLL)。所以这就是我所做的:但是,IntelliSense和对象浏览器都无法在该DLL中找到该类。我尝试将几个不同的控制台应用程序重新编译为类库,结果相同。我还注意到,如果我最初将解决方案创建为一个类库,它就可以工作,但如果我稍后将其转换为一个类库,它就不行了。有小费吗?您不需要将其构建为dll。VS2010(和IIRC2008)允许引用exe程序集。您只需要将相关类型声明为public-如果您不添加说明符,顶级类将默认为内部类。我一直在做的(因为这就是你对C++静态库所做的,这是我通常使用的——尽管我认为它也比C#有一些优势)是为类库添加一个项目到解决方案中,然后添加对使用它的一个或多个项目的引用。当您添加引用时,潜在引用列表包括解决方案中的项目,因此应该非常清楚要做什么。然后你应该为你的图书馆获得智能感知。这样做的一个好处是,如果您需要编辑库项目中的文件,这非常容易,因为它们非常接近,然后在编译解决方案时会自动重建项目。您还可以在项目属性中将输出类型切换为类库-然后您将输出为dll而不是exe文件确保dll项目中的类是公共的。首先,从托管库的角度来看,托管库的输出类型无关紧要。我的意思是您可以从ConsoleApplication2.exe项目成功引用ConsoleApplication1.exe(因此您没有理由将ConsoleApplication1.exe转换为ConsoleApplication1.dll)。其次,我试图重现你的情况,但是......它没有用。我的VS显示了ConsoleApplication1.dll中的类型/方法。我能想到的一个原因是您忘记为实用程序类设置可见性修饰符(public关键字)。以上是C#学习教程:如何将C#代码编译为库而不是可执行文件?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
