.NET 'CPU'프로젝트가 프레임 워크 또는 프레임 워크 64 DLL에 바인딩해야합니까?

StackOverflow https://stackoverflow.com/questions/319585

문제

Framework64 버전을 참조하는 C# Visual Studio Project (.csproj)가 있습니다. System.Data. 내가 사용을 만들려고 할 때 MSBUILD/팀 재단 서버 (TFS) 다른 컴퓨터의 경우 64 비트 DLL이 존재하지 않기 때문에 실패합니다.

프레임 워크 버전에 바인딩해야합니까, 아니면 64 비트 머신에서 실행할 때 제한해야합니까? .NET이 가능한 경우 64 비트를 사용하도록 바인딩을 리디렉션합니까?

도움이 되었습니까?

해결책

나는 당신이 의미한다고 생각합니다 모든 CPU 당신의 질문에 맞습니까? 그것이 사실이라고 가정하면, 물린에 관계없이 구속력이있는 것은 거의 모든 상황에서 갈 수있는 방법입니다.

기억하십시오 .그물 코드입니다 jited (시간으로 컴파일 된) - C# 또는 64 비트 코드를 의미합니다. vb.net 컴파일러는 어떤 아키텍처를 실행하든 동일합니다. 런타임에 코드가 지정되면 32 또는 64 비트가됩니다.

어떤 상황에서는 대상 아키텍처를 염두에 두어야합니다. 하나의 구체적인 사례는 com-Wrapper DLLS, .NET 프레임 워크 제공 또는 기타. 이는 이러한 DLL 파일이 32 비트로 표시되지 않은 경우 (COM의 경우) 32 비트 전용 (COM이 32 비트 전용 아키텍처)으로 표시되므로 COM에서 Interop은 작동하지 않습니다. 따라서 명시 적으로 표시되므로 프로젝트 출력도 마찬가지입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top