반응형
■ 라이브러리 만들 때 접근 제한자 주의
dll로 만들고자 하는 소스 파일의 클래스 제한을 public으로 바꿔줘야 한다.
앞서서 LogWriter.cs 모양은 아래와 같았음
Program.cs |
using System; class Program { static void Main(string[] args) { LogWriter logWriter = new LogWriter(); logWriter.Write("start"); } } |
LogWriter.cs |
using System; class LogWriter { public void Write(string txt) { Console.WriteLine(txt); } } |
class LogWriter 앞에 접근 제한자가 명시되어 있지 않지만, 이런 경우 internal 임.
여러 exe, dll에서 이 클래스를 사용하려면 public으로 해 주어야 함.
using System; public class LogWriter { public void Write(string txt) { Console.WriteLine(txt); } } |
csc.exe로 라이브러리를 만들려면 아래처럼;
c:\temp) csc/target: library LogWriter.cs
결과는 LogWriter.dll이 만들어짐.
Program.cs에서 이 라이브러리를 사용하려면,
c:\temp> csc Program.cs /r: LogWriter.dll → Program.exe가 만들어짐.
배포할 때는 Program.exe와 함께 LogWriter.dll를 동시에 줘야 정상동작함.
참조(reference) DLL을 다른 프로그램에서 사용한 것 |
csc가 자동으로 참조하는 dll들은 위처럼 명시하지 않아도 된다. 자동참조 dll 목록은
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.rsp
♨ csc.rsp에 원하는 dll 이름을 넣어두면 자동참조된다.
북눈으로 정리함 (www.booknoon.co.kr)
반응형
'C#' 카테고리의 다른 글
.Reverse() 함수를 쓸 때 주의 점 (0) | 2024.12.22 |
---|---|
public 대신 internal을 사용할 수 있다면 internal을 쓰자. (0) | 2024.12.21 |
C# .NET Framework 4.8 프로젝트에서 SQLite 사용하는 방법 (0) | 2024.11.12 |
접근 제한자 (0) | 2022.12.08 |
C# 배포 파일 만들기 (0) | 2022.12.03 |