在Visual Studio中,何时需要添加对dll的引用?我总是尝试在我的项目中使用最少的引用,我尝试只包括那些非常必要的引用.
如果我using在源代码中有声明,我认为我只需要一个引用.但这并不总是足够的.
例如,我有一个非常简单的程序,即usingSystem和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));
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想我只需要引用System和Microsoft.Practices.EnterpriseLibrary.Data.但事实并非如此.如果我不引用System.Data,代码将无法编译.
"System.Data.Common.DbCommand"类型在未引用的程序集中定义.您必须添加对程序集'System.Data,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用.
当我必须添加对某些我不是的引用时,我怎么能事先知道using?
Mic*_*edy 14
引用告诉编译器在哪里查找要导入的类型.使用语句告诉编译器在哪里查找"全名"
所以你可以输入
using System.Text
StringBuilder sb;
// ...
Run Code Online (Sandbox Code Playgroud)
要么
System.Text.StringBuider sb;
// ...
Run Code Online (Sandbox Code Playgroud)
但无论哪种方式,您必须引用System.dll(或者它是StringBuilder的mscorlib?).如果没有ref,编译器就不知道可用的类型.
您必须添加对类所在的程序集的引用,以及包含的所有依赖项
DbCommand)DbCommand或实现接口)小智 5
1) 为了从外部程序集中访问类型,您必须在项目中添加对它的引用。此引用告诉编译器要在您的项目中包含哪些程序集。
2)但是,导入程序集是可选的。(在 C# 中,这是通过“使用...”指令完成的)。这告诉编译器去哪里寻找使用的类型。如果未包含它,则无论何时从该程序集中引用该类型,都需要完全限定其命名空间及其名称。
示例:要在控制台程序中使用MessageBox类(Show()方法),您必须添加对 System.Windows.Forms 程序集的引用,然后将其引用为...
如果不导入程序集:
System.Windows.Forms.MessageBox.Show("Hello");
如果导入程序集:
MessageBox.Show("Hello");
| 归档时间: |
|
| 查看次数: |
9112 次 |
| 最近记录: |