.NET C# 코드에서 사용하는 .NET DLL 라이브러리 "itextsharp"를 추가했습니다. DLL은 다음 디렉토리에 존재할 수 :다른 위치에서 .NET의 동일한 dll 참조를 추가하십시오.
C:\ProgramData\<Application Name>\ or
C:\Users\<Username>\AppData\
C:\Windows\System32\ or
C:\Windows\
나는 DLL이 위의 위치 중 하나에있는 경우 확인하는 코드를 작성하는 방법을 알고 싶다면 다음을 사용합니다. 같은 :
string sPath = "";
if(File.Exist(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\\<Application Name>"\\itextsharp.dll"))
sPath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\\<Application Name>"\\itextsharp.dll");
else if(File.Exist(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\<Application Name>"\\itextsharp.dll"))
sPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\<Application Name>"\\itextsharp.dll");
.... 등등 .....
다음 라이브러리와 네임 스페이스와 클래스에 액세스 할 수 sPath
변수를 사용하는 방법에 대해 설명합니다.
파일이 항상 특정 폴더에 있지 않고 기본 프로그램 파일 폴더에 모든 코드 관련 파일을 보관하고 싶지 않기 때문에이 방법이 필요합니다. "C:\Program Files\<Application Name>\"
파일이 이미 위의 위치 중 하나에있는 경우 먼저 사용하는 것을 선호합니다. 그래서 "참조 추가"를 사용하여 .NET 라이브러리를 추가하면 고정 경로입니까? 우선 정확한 경로를 찾아 코드를 사용하여 네임 스페이스와 클래스에 액세스해야합니다.
두 번째 질문은 "참조 추가"를 사용하여 위치에서 .NET dll을 추가하면 클라이언트 컴퓨터에 배포 할 때 경로가 정확히 같아야한다는 것입니다. 예를 들어 내 Windows 드라이브가 C :이고 경로가 "C:\Users\<Username>\AppData\itextsharp.dll"
인데 클라이언트가 D : 드라이브에 Windows를 설치 한 경우 C 드라이브 또는 D 드라이브의 코드 액세스 경로가 표시됩니까? 그리고 프로그래밍 방식으로 경로를 변경하는 방법?
글쎄, GAC (Global Assemblies Cache)에 dll을 등록하거나 상대 경로를 사용하여 참조 할 수 있습니다. 예를 들어 프로젝트에 "Libs"라는 폴더를 만들면 작업에 필요한 모든 외부 라이브러리를 저장할 수 있습니다. 배포를 실행하면 이러한 라이브러리가 항상 프로젝트와 함께 배포됩니다 (bin 폴더에서 웹 응용 프로그램과 클라이언트 응용 프로그램간에 차이가 없음). –
아마도 도움이 될 것입니다 : http://stackoverflow.com/questions/15666618/csproj-multiple-hint-paths-for-an-assembly –
단지 퓨전 문제를 해결하려고하지 않습니까? http://stackoverflow.com/questions/9961162/what-is-fusion-in-net-assembly – rene