这篇文章将为大家详细讲解有关C#类库如何编译,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
问题的提出:现有类库文件 login.cs
usingSystem; namespaceconn { publicclassLogin { //在此类中定义一个静态的字段(属性), 返回一个字符串 publicstaticstringConnection { get{return@"Server=database_servername; DataBase=Northwind;userid=sa; password=yourpassword;";} } //注意@不可以少! } }
此时需要在DataReaderSql使用到类login中的字段Connection(下面代码第9行)
DataReaderSql.cs
1 using System; 2 using System.Data.SqlClient; 3 4 5 public class DataReaderSql 6 { 7 public static int Main( string[] args) 8 { 9 string source = Login.Connection ; 10 string select = " SELECT ContactName,CompanyName FROM Customers" ; 11 12 SqlConnection conn = new SqlConnection ( source ) ; 13 14 try 15 { 16 using ( conn ) 17 { 18 conn.Open ( ) ; 19 20 SqlCommand cmd = new SqlCommand ( select , conn ) ; 21 22 using ( SqlDataReader aReader = cmd.ExecuteReader ( ) ) 23 { 24 while ( aReader.Read ( ) ) 25 Console.WriteLine ( "'{0}' from {1}" , aReader.GetString(0) , aReader.GetString ( 1 ) ) ; 26 27 aReader.Close ( ) ; 28 } 29 30 conn.Close ( ) ; 31 } 32 } 33 catch ( Exception e ) 34 { 35 Console.WriteLine ( e ) ; 36 Console.WriteLine ( ) ; 37 Console.WriteLine ( " Chances are your database does not have a user" ) ; 38 Console.WriteLine ( " called QSUser, or you do not have the NetSDK database installed." ) ; 39 } 40 41 return 0; 42 } 43 }
也就是说目前我们需要解决的问题是如何在C#类库编译的时候可以及时的让程序可以知道Login.Connection在哪里。
那么我们应该怎么做才能实现C#类库编译呢?
在这里我们不依靠namespace我们使用动态链接库。
C#类库编译分2步:
一、使用命令csc/t:librarylogin.cs编译得到login.dll
二、使用命令cscDataReaderSql.cs/r:login.dll编译并指向login.dll动态链接库文件得到DataReaderSql.exe
关于“C#类库如何编译”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。