Visual Studio에서 Interop 유형 포함 참과 거짓의 차이점은 무엇입니까?
Visual Studio에서 프로젝트에 하나의 참조를 추가 할 때 속성 창에는 옵션 Embed Inteop Types
이 있습니다. True
또는 False
? 차이점이 뭐야?
우리는 많은 프로젝트를 가지고 있기 때문에 그중 일부는 참조가로 설정되고 False
다른 것은로 설정되었습니다 True
. bulid 서버에도 동일한 경고가 있습니다.
우리 모두 변경할 계획 그래서 Embed Inteop Types
에 False
, 우리는 어떤 위험을 얻을 것?
이 옵션은 interop에 대해 매우 큰 PIA (Primary Interop Assemblies)를 배포 할 필요를 없애기 위해 도입되었습니다.
관리되지 않는 어셈블리와 대화 할 수 있도록 사용되는 관리되는 브리징 코드를 포함하기 만하면 포함되지 않고 실제로 코드에서 실제로 사용하는 항목 만 생성합니다.
Scott Hanselman의 블로그 게시물 및 기타 VS 개선 사항에 대한 자세한 내용은 여기를 참조하십시오 .
조언 여부에 관해서는이 기능을 사용할 필요가 없기 때문에 확실하지 않습니다. 빠른 웹 검색으로 몇 가지 리드가 생성됩니다.
파일을 모두 거짓으로 바꾸는 유일한 위험은 PIA 파일에 대한 배포 관련 문제가 더 많고 해당 파일 중 일부가 큰 경우 더 큰 배포입니다.
false로 설정하면 디버거를 사용하여 항목의 값을 볼 수 있습니다. true로 설정되면 오류-item.FullName.GetValue가 발생했습니다. 내장 interop 유형 'FullName'에 컴파일 된 어셈블리에서 사용되지 않았기 때문에 'QBFC11Lib.IItemInventoryRet'에 대한 정의가 없습니다. 오브젝트로 캐스트하거나 'Embed Interop Types'특성을 true로 변경하십시오.
'programing tip' 카테고리의 다른 글
C에서 롤링 중간 알고리즘 (0) | 2020.08.06 |
---|---|
속기 배경 속성의 배경 크기 (CSS3) (0) | 2020.08.06 |
바이트에 대한 적절한 최대 절전 모드 주석 (0) | 2020.08.06 |
동기화 작업 대신 비동기 WebAPI 작업을 만들어야하는 이유는 무엇입니까? (0) | 2020.08.06 |
NameNotFoundException 웹뷰 (0) | 2020.08.06 |