В Visual Studio, когда вам нужно добавить ссылку на DLL? Я всегда стараюсь иметь минимальные ссылки в моих проектах, я стараюсь включать только те, которые действительно необходимы.
Я бы подумал, что мне нужна ссылка только в том случае, если у меня есть оператор using
в моем источнике. Но это не всегда достаточно.
Например, у меня есть очень простая программа, которая using
System и 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));
}
}
}
}
Я бы подумал, что мне нужно только ссылаться на System и Microsoft.Practices.EnterpriseLibrary.Data. Но это не так. Если я не ссылаюсь на System.Data, код не будет компилироваться.
Тип "System.Data.Common.DbCommand" - определенных в сборке, которая не является ссылки. Вы должны добавить ссылку к сборке 'System.Data, Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = b77a5c561934e089'.
Как я могу узнать заранее, когда мне нужно добавить ссылку на то, что я не using
?