En Visual Studio, ¿cuándo debe agregar una referencia a un dll? Siempre trato de tener un mínimo de referencias en mis proyectos, intento incluir solo los que realmente son necesarios.¿Cuál es la diferencia entre usar instrucción y agregar una referencia?
Creo que solo necesito una referencia si tengo una declaración using
en mi fuente. Pero eso no siempre es suficiente.
Por ejemplo, tengo un programa muy simple que es using
sistema y Microsoft.Practices.EnterpriseLibrary.Data:
using System;
using Microsoft.Practices.EnterpriseLibrary.Data;
public class SimpleConnection {
private static void Main() {
var database = DatabaseFactory.CreateDatabase();
var command =
database.GetSqlStringCommand(
"select table_name from information_schema.tables");
using (var reader = database.ExecuteReader(command)) {
while (reader.Read()) {
Console.WriteLine(reader.GetString(0));
}
}
}
}
me habría pensar que sólo tengo que hacer referencia del sistema y Microsoft.Practices.EnterpriseLibrary .Datos. Pero eso no es verdad Si no hago referencia a System.Data, el código no se compilará.
El tipo 'System.Data.Common.DbCommand' se definido en un conjunto que no se hace referencia. Debe agregar una referencia al ensamblado 'System.Data, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'.
¿Cómo puedo saber de antemano cuando tengo que agregar una referencia a algo que no soy using
?
Tenga en cuenta que el compilador de C# solo incluye aquellas referencias de ensamblaje en el ensamblado compilado que se utilizan realmente; puede agregar tantas referencias de ensamblado a su proyecto de Visual Studio como desee sin problemas. – dtb