programing tip

Visual Studio에서 Interop 유형 포함 참과 거짓의 차이점은 무엇입니까?

itbloger 2020. 8. 6. 08:03
반응형

Visual Studio에서 Interop 유형 포함 참과 거짓의 차이점은 무엇입니까?


Visual Studio에서 프로젝트에 하나의 참조를 추가 할 때 속성 창에는 옵션 Embed Inteop Types이 있습니다. True또는 False? 차이점이 뭐야?

우리는 많은 프로젝트를 가지고 있기 때문에 그중 일부는 참조가로 설정되고 False다른 것은로 설정되었습니다 True. bulid 서버에도 동일한 경고가 있습니다.

"내장 interop 어셈블리에 대한 참조"란 무엇을 의미합니까?

우리 모두 변경할 계획 그래서 Embed Inteop TypesFalse, 우리는 어떤 위험을 얻을 것?


이 옵션은 interop에 대해 매우 큰 PIA (Primary Interop Assemblies)를 배포 할 필요를 없애기 위해 도입되었습니다.

관리되지 않는 어셈블리와 대화 할 수 있도록 사용되는 관리되는 브리징 코드를 포함하기 만하면 포함되지 않고 실제로 코드에서 실제로 사용하는 항목 만 생성합니다.

Scott Hanselman의 블로그 게시물 및 기타 VS 개선 사항에 대한 자세한 내용은 여기를 참조하십시오 .

조언 여부에 관해서는이 기능을 사용할 필요가 없기 때문에 확실하지 않습니다. 빠른 웹 검색으로 몇 가지 리드가 생성됩니다.

파일을 모두 거짓으로 바꾸는 유일한 위험은 PIA 파일에 대한 배포 관련 문제가 더 많고 해당 파일 중 일부가 큰 경우 더 큰 배포입니다.


false로 설정하면 디버거를 사용하여 항목의 값을 볼 수 있습니다. true로 설정되면 오류-item.FullName.GetValue가 발생했습니다. 내장 interop 유형 'FullName'에 컴파일 된 어셈블리에서 사용되지 않았기 때문에 'QBFC11Lib.IItemInventoryRet'에 대한 정의가 없습니다. 오브젝트로 캐스트하거나 'Embed Interop Types'특성을 true로 변경하십시오.

참고 : https://stackoverflow.com/questions/20514240/whats-the-difference-setting-embed-interop-types-true-and-false-in-visual-studi

반응형