Visual Studio에서 64비트, 32비트 DLL 동적 라이브러리 파일을 참조하는 구성 방법
원래 프로젝트를 디버깅합니다. "SQLite"의 32비트 dll을 인용하여 64비트 아래에서 프로그램을 실행할 수 없습니다. (그러나 컴파일링은 통과할 수 있습니다.)
나중에 프로젝트 파일(.csproj)을 수정하여 인용 조건을 설정하여 문제를 해결하였다.
SQLite를 인용한 프로젝트 (예: info) 의 프로젝트 파일 (info.csproj) 을 열고 SQLite에 인용된 문장을 찾습니다. 다음과 같은 코드를 찾습니다.
False
..\..\libs\SQLite\System.Data.SQLite.dll
여기에 인용된 라이브러리의 명칭, 경로 등 정보를 지정하였으며, 위의 설정 내용을 다음과 같이 수정하였다.
False
..\..\libs\SQLite\System.Data.SQLite.dll
단지 하나의 Condition 제한 조건을 추가하여 플랫폼 유형 비트AnyCPU에서만 이 경로에 따라 dll을 인용한다는 것을 나타낸다
위의 설정 내용을 복사하고 다음과 같이 수정하여 x64 플랫폼의 생성 시 인용하는 dll 경로를 설정합니다
False
..\..\libs\SQLite\System.Data.SQLite.x64.dll
마지막으로 VS에서 어떻게 서로 다른 생성 플랫폼을 설치하는지 말씀드리겠습니다.
도구 모음의 '해결 방안 플랫폼' (일반적으로 'Any CPU' 가 표시됨) 아래 상자에서 '설정 관리자' 를 선택하고 원하는 플랫폼 형식을 추가합니다. (일반적으로 x64, x86, Itanium에서 선택하고 기본 이름을 수정하지 마십시오.)
그리고 창 아래에 있는 '프로젝트 상하문 중' 에서 대응하는 항목 (여기는 info 항목만 있고 나머지는 AnyCPU가 변하지 않음) 에서 플랫폼 형식을 수정합니다 (X64로 수정)
그리고 여기에 설정하면 프로젝트 파일에 추가된 플랫폼 유형에 대한 설정이 완전하지 않을 수 있습니다. (제가 컴파일할 때'OutputPath는 설정이 없습니다'라고 알릴 수 있습니다) 이럴 때 vs의 프로젝트 속성 인터페이스에 들어가서 조금 수정(다른 것으로 바꾸고 저장하고 다시 고칩니다) 이런 설정들은
ok, 이럴 때 플랫폼의 유형에 따라 대응하는 dll를 인용할 수 있을 거예요.
인터넷에서 찾은 자료에 의하면 이런 방법은 msi의 설치 프로그램의 제작에 그다지 좋지 않다고 한다. 나는 잘 모르겠다. 이 방면에 관련된 학우들은 다시 자세히 조사해 보자.
단, 나는 여기에서 실행 가능한 해결 방안을 제공한다. 그것은 전체 프로젝트를 설치 프로그램에 만들지 말고, 단지 가장 기본적인 설치 프로그램을 만들고, 업그레이드를 통해 최신을 보장하는 것이다.
네트워크가 없는 환경에서도 컴파일링을 설치 디렉터리에 따로 압축하여 전체 해결 방안을 설치 패키지로 만들지 않도록 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.