2011-12-15 15 views
18

Tengo un proyecto C-.exe semi-grande en Visual Studio 2010 Ultimate, y me gustaría convertirlo a una biblioteca de clases DLL. ¿Hay una manera fácil de hacer esto que no implique crear un nuevo proyecto de biblioteca de clase? Gracias de antemano.Convertir el proyecto .exe a la biblioteca de clases

Respuesta

29

Proyecto> Propiedades> pestaña Aplicación, cambie el tipo de salida a "Biblioteca de clases".

Para el registro, esto no es realmente necesario. Un proyecto EXE funciona bien como referencia de ensamblaje. Suponiendo que las clases se declararon públicas, algo que quizás deba arreglar de todos modos para que funcionen en una biblioteca.

2

Vaya a Mi proyecto en su solución, seleccione la pestaña Aplicación y cambie el Tipo de aplicación a Biblioteca de clases.

5

En .NET, un .exe y un .dll son legales como referencias. Esto es porque en .NET, existe dos tipos de conjuntos:

  1. conjuntos de proceso - conocido en público como ejecutables, o exe
  2. conjuntos Biblioteca - conocido en público como DLL

Un conjunto en .NET contiene muchos módulos, que a su vez contienen una o más clases (la guía es de una clase por módulo). Estos módulos se convierten en código IL en tiempo de compilación y JIT en tiempo de ejecución. La parte importante para ambos tipos de conjuntos es que cada conjunto tiene los metadatos como

  1. módulos
  2. métodos
  3. tipos

existe en un ensamblaje. Y debido a eso, el tiempo de ejecución y el compilador pueden determinar fácilmente cómo llamar fx a cierto método en un ensamblado de proceso.

Creo que, sin ser un experto en el tema, la principal diferencia entre los ensamblajes de proceso y biblioteca es que los ensamblajes de proceso contienen algún código adicional, indicando al motor de ejecución cómo cargar y qué cargar.

Cuestiones relacionadas