COM interop DLL을 참조하는 어셈블리를 작성합니다. 참조의 속성 (VS2010)에서 Interop Types를 True로 설정하여 COM interop 유형을 임베드하면 런타임에 "object에 get_Range에 대한 정의가 없습니다"라는 오류가 발생합니다. COM interop 형식이 포함되지 않으면 오류가 발생하지 않습니다.interop 어셈블리가 .NET 4.0에 포함되어 있으면 Excel get_Range가 누락됩니다.
특정 방법 인 Worksheet.get_Range를 생략해야하는 이유나이 문제를 해결하는 방법이나 다른 관련 통계를 얻는 방법을 알고있는 사람이 있습니까? 어떤 도움을 주셔서 감사합니다.
interop dll에는 Worksheet.get_Range (object, [object])에 대한 참조가 포함되어 있습니다. 내 호출 어셈블리에서 반사판을 사용하면 워크 시트 아래에 get_Range에 대한 언급이 없습니다.
임베딩되는 interop 어셈블리는 Excel9.olb에서 생성됩니다. 응용 프로그램이 여러 Excel 버전을 대상으로하므로 PIA를 사용하지 않습니다.
마이크, 도움 주셔서 감사합니다. 단일 매개 변수 접근 방식은 런타임 오류를 가져 오지 않으며 분명히 좋은 해결 방법입니다. Microsoft 530769에 버그 보고서를 제출했습니다. – mikemay
https://connect.microsoft.com/VisualStudio/feedback/details/530769/get-range-method-missing-with-embedded-interop-assembly?wa=wsignin1.0 – mikemay
아, 맞아, 나는 이전의 코멘트에 나쁜 링크를 게시했다. 고쳐 주셔서 감사합니다. 토론은 매우 흥미롭고 합리적입니다. 하지만, 이전의'worksheet.get_Range ("A1", Type.Missing) 대신에 단순히'worksheet.Range [ "A1"]'문법을 사용하는 것이 가장 쉬운 해결책은 아닌지 묻고 싶습니다. C# 4.0 사용 하시겠습니까? 매우 흥미로운 호기심을 발견했지만 자신의 코드에 맞게 수정하는 것이 가장 쉽고 새로운 구문을 사용하는 것이 가장 좋을 것입니다 - 어떤 경우에도 읽기 쉽도록 디자인되어 있습니다! –