노트 다음 내용은 .NET Framework에만 적용됩니다. LabVIEW는 LabVIEW 2024 Q3부터 .NET Core에 대한 지원을 점진적으로 추가하고 있습니다. 다른 릴리즈에 추가된 특정 .NET Core 지원에 대해서는 LabVIEW 의 새로운 기능 및 변경 사항을 참조하십시오.

VI의 프런트패널 또는 블록다이어그램에서 .NET 객체를 참조하는 경우, LabVIEW가 해당 객체에 대한 .NET 어셈블리를 로드할 수 있는지 확인합니다. Common Language Runtime (CLR)은 사용자가 호출하는 .NET Framework 어셈블리를 찾습니다. CLR가 어셈블리의 위치를 찾는 방법에 대한 추가적인 정보는 MSDN(Microsoft Developer Network) 웹 사이트를 참조하십시오. CLR이 어셈블리를 찾지 못하는 경우, LabVIEW는 찾을 수 없는 VI를 검색하는 방법과 같은 방식으로 어셈블리를 검색합니다. LabVIEW 옵션 대화 상자의 경로 페이지에서 지정한 디렉토리 안에서 찾을 수 없는 VI를 검색합니다. LabVIEW는 프런트패널 또는 블록다이어그램에서 직접 참조한 .NET 객체의 .NET 어셈블리를 못 찾을 경우, 로드 타임 에러를 발생시킵니다. LabVIEW가 런타임에서 필요한 의존성 어셈블리를 로드하지 못하는 경우, 런타임 에러를 발생시킵니다.

CLR는 프라이빗 .NET 어셈블리를 로드할 때 동작 중인 실행 파일의 디렉토리를 기본 검색 경로로 사용합니다. LabVIEW 프로젝트에 속하지 않는 VI로부터 .NET 객체를 참조하는 경우, CLR은 LabVIEW.exe를 동작 중인 실행 파일로 인식합니다. 따라서 CLR은 LabVIEW.exe 파일이 위치하는 디렉토리에서 프라이빗 어셈블리를 검색합니다. LabVIEW 프로젝트에 속하는 VI로부터 .NET 객체를 참조하는 경우, CLR은 프로젝트를 동작 중인 실행 파일로 인식합니다. 따라서 CLR은 프로젝트 디렉토리에서 프라이빗 어셈블리를 검색합니다. VI로부터 .NET 어셈블리를 참조하고 해당 어셈블리가 .NET Framework에 속하지 않는 경우, LabVIEW.exe 파일이 위치한 디렉토리에 파일을 놓지 않도록 VI를 프로젝트에 저장할 것을 NI는 권장합니다.

프로젝트에 속하지 않는 VI로부터 .NET Framework 어셈블리를 호출하는 경우, 호출하는 VI와 같은 디렉토리에 어셈블리를 저장할 수 있습니다. LabVIEW는 CLR가 기본적으로 로드할 수 없는 어셈블리를 호출하는 VI 디렉토리를 포함하여 특정 VI 디렉토리에서 검색합니다. 하지만 호출 어셈블리를 이 위치에 저장하면 이름이 충돌하고 그 외 기대하지 않은 .NET Framework 동작을 야기할 수 있습니다. 따라서, NI는 이 위치에 어셈블리를 저장하지 않는 것을 권장합니다.

메모리에 있는 어셈블리 변경 감지하기

LabVIEW가 어셈블리를 메모리에 로드한 후, 어셈블리를 로드한 어플리케이션 인스턴스를 사용자가 닫을 때까지 해당 어셈블리는 메모리에 상주합니다. 어셈블리가 메모리에 있는 동안, 디스크에서 어셈블리에 변경이 있어도 LabVIEW는 감지하지 못합니다. 그러므로 LabVIEW가 어셈블리의 변경에 접근할 수 있기 전에, 메모리에 있는 어셈블리 버전을 업데이트해야 합니다.

어셈블리 변경 후 VI 로드하기

.NET SDK에서 제공되는 Microsoft Visual Studio .NET 및 기타 개발 도구는 어셈블리에 강력한 이름을 지정할 수 있습니다. 같은 강력한 이름을 가진 어셈블리들은 동일한 것으로 여겨집니다.

.NET 어셈블리의 경로가 변경되었거나, 강력한 이름의 어셈블리의 버전 번호 또는 컬쳐 문자열이 변경된 VI를 로드할 때, LabVIEW는 이를 알리는 경고 대화 상자를 실행합니다. 일단 로드되면, VI는 제목 표시줄과 윈도우 메뉴에 디스플레이된 열린 VI 리스트에 별표를 포함합니다. VI를 저장하면, 새로 변경할 때까지 별표는 사라집니다.

.NET Framework 어셈블리의 타임스탬프에 변경사항이 있는 VI를 로드할 때 LabVIEW는 경고 대화 상자를 실행하지 않지만 해당 VI의 제목 표시줄에 별표를 디스플레이합니다.

메모리의 .NET 어셈블리 대화 상자를 참조하여 LabVIEW가 올바른 버전의 어셈블리를 로드하는지 확인합니다.

특정한 버전의 .NET 어셈블리를 선택하고 로드하는 방법에 대한 추가적인 정보는 ni.com에서 기술지원 데이터베이스를 참조하십시오.