我在visual studio 2010 Ultimate中有一个半大型的c# .exe项目,我想将其转换为DLL类库。有没有一种简单的方法来做到这一点,而不需要创建一个新的类库项目?事先谢谢。
Project> Properties> Application选项卡,将输出类型更改为" class Library"
郑重声明,这实际上是不必要的。EXE项目作为程序集参考可以正常工作。假设类被声明为public,那么为了使它们在库中工作,无论如何都可能需要修复一些东西。
在。net中,.exe和.dll作为引用都是合法的。这是因为在。net中存在两种类型的程序集:
- 进程程序集-在公共场合称为可执行文件,或exe
- 库程序集-公开称为dll
. net中的程序集包含许多模块,这些模块又包含一个或多个类(指导原则是每个模块一个类)。这些模块在编译时被转换成IL代码,在运行时被JIT。对于这两种类型的程序集,重要的部分是每个程序集都保存像
这样的元数据。- <
- 模块/gh>
存在于一个程序集中。因此,运行时和编译器可以很容易地确定如何调用进程程序集中的某个方法。
我认为,虽然不是这方面的专家,但进程程序集和库程序集之间的主要区别在于,进程程序集保存了一些额外的代码,告诉运行时如何加载以及加载什么。
进入解决方案中的My Project,选择Application选项卡,并将Application类型更改为class Library
右键单击项目并进入其属性并在配置属性中查找配置类型,然后将其从。exe更改为。lib…这会将应用程序类型从可执行程序更改为库