C# 다른 버전 dll 참조
4037 단어 C#
기본적으로 여기 참조: 다른 버전 dll 인용
대체 링크: 서로 다른 버전 dll과 같은 해결 방안 또는 의존 관계가 있는 두 항목을 인용하여 같은 이름이지만 서로 다른 버전의 DLL을 인용합니다
추가 보완 사항은 다음과 같습니다.
href는 상대 경로를 사용해야 한다
이곳의 상대 경로는 프로그램 출력 디렉터리 (
$(OutDir)
의 상대 경로를 가리킨다.<dependentAssembly>
<assemblyIdentity name="LiteDB" publicKeyToken="4ee40123013c9f27" culture="neutral" />
<codeBase version="2.0.2.0" href="LiteDB.2.0.2.0\LiteDB.dll" />
<codeBase version="4.0.0.0" href="LiteDB.4.0.0.0\LiteDB.dll" />
dependentAssembly>
dll 파일의git 관리
일반 출력 디렉터리의 내용은 자동으로 생성되고bin 디렉터리에 위치하면git 관리에 포함되지 않기 때문에 프로그램 디렉터리에서 하나의 폴더로 dll 파일을 관리하고git 창고에 포함시켜야 합니다.다시 시작 프로그램의 사전 생성 이벤트에서
xcopy
명령을 이용하여 dll 파일을 출력 디렉터리의 위치로 복사합니다.예:xcopy /E /Y $(SolutionDir)_Externals\Refs\LiteDB.2.0.2.0\*.dll $(OutDir)LiteDB.2.0.2.0\
xcopy /E /Y $(SolutionDir)_Externals\Refs\LiteDB.4.0.0.0\*.dll $(OutDir)LiteDB.4.0.0.0\
이렇게 하면 dll 파일을git 관리에 포함시킬 수 있을 뿐만 아니라, 팀의 다른 구성원들이 당신이 제출한 코드를 끌어낸 후에도 dll이 부족하여 실행할 수 없는 상황이 발생하지 않을 것이다. (xcopy를 사용하여 dll를 출력 디렉터리로 복사했기 때문이다.)
DLL 참조를 로컬로 복사 해제
일부 이상한 문제를 방지하려면 DLL 참조를 로컬 속성으로 복사하는 것을 닫는 것이 좋습니다.
업그레이드를 피하려면 어떻게 해야 합니까?
일반적으로 두 버전의 DLL을 사용하는 이유는 호환성 문제로 기존 데이터 등을 읽어야 하기 때문이다.구 버전의 인용이 업그레이드될 수 없는데 어떻게 해야 합니까?
NuGet 패키지의 예기치 않은 업그레이드 방지 - walterlv
END
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.