10.2에서 ArcGIS 10.1 응용 프로그램 실행


10

ArcGIS 10.1이 설치된 PC에서 컴파일 된 .NET 응용 프로그램을 지원합니다. 응용 프로그램은 사용자 인터페이스 및 ArcGIS 데스크탑 확장과 설치 중에 데스크탑 확장을 등록하기 위해 Windows Installer가 호출하는 설치기 어셈블리로 구성됩니다.

내가 가진 문제는 10.1 ESRI 어셈블리를 찾을 수 없으므로 응용 프로그램이 ArcGIS 10.2가 설치된 PC에서 실행되지 않는다는 것입니다. v9.3 ESRI 이후에는 런타임시 프로그램을 최신 버전으로 리디렉션하기 위해 더 이상 게시자 정책 파일을 더 이상 제공하지 않는 것 같습니다.

응용 프로그램의 .exe.config에 런타임 어셈블리 바인딩을 추가하여 10.2 어셈블리를로드하도록 프로그램을 리디렉션했습니다. 그러나 이것은 바탕 화면 확장을 리디렉션하지 않으며 응용 프로그램을 설치할 때 10.1 라이브러리를 찾는 설치 프로그램의 문제를 해결하지 않습니다.

ESRI의 솔루션은 새로운 ArcGIS 버전이 출시 될 때마다 애플리케이션을 다시 컴파일하는 것 같습니다. 그러나 이것은 최종 사용자가 사용하는 모든 ArcGIS 릴리스 사본이 필요하다는 것을 의미합니다. 그리고 다시 컴파일하기 위해 응용 프로그램 코드를 변경해야 할 때마다 다른 버전을 제거했다가 다시 설치해야합니다.

누구든지 제안이 있습니까? 특정 버전을 찾지 않도록 라이브러리를 런타임에 동적으로로드 할 수 있습니까? 다른 해결책이 있습니까?

답변:


2

다음 속성을 사용하도록 프로젝트에서 ArcGIS 참조를 설정하십시오.

Copy Local = False
Specific Version = False

더 이상 사용되지 않거나 변경 사항이있는 arcobjects를 사용하지 않는다고 가정하면 프로그램이 호환됩니다.


Visual Studio에서 이러한 설정이 이미 있습니다. 'Specific Version = False'는 응용 프로그램을 빌드하고 배포 한 후에 만 ​​Visual Studio에서 참조를로드하는 방법에만 영향을줍니다.
Andy

2

프로젝트 아키텍처를 ESRI 애드 인으로 변경하는 것이 가장 좋습니다. 이렇게하면 아키텍처가 Windows 레지스트리를 올바르게 처리하는 것으로 이해하면 Windows Installer를 다루지 않아도됩니다.

애드 인은 훨씬 더 직설적이며 Windows 고유의 설치 프로그램이 필요하지 않으며 .esriAddIn 파일 형식 인 특수 .zip 파일로 제공되며 ESRI에서 권장하는 것입니다. 이들은 Windows 레지스트리를 다루지 않고 ESRI 만 처리하고 파일을 한 번 클릭하여 설치하십시오. Rich Wawrzonek이 제안한 변경 사항을 더 잘 적용해야합니다.

또한 ESRI는 (밝혔습니다 여기 프리젠 테이션에서 볼 주요 버전 내에서 즉, 추가 기능이 10.X 있음) 이전 버전과 호환되는, 즉 10.2 10.1 10.0 추가 기능, 10.1 10.0 추가 기능을 사용할 수 있습니다 사용할 수 있습니다. 전환시 ArcObjects에서 항목이 제거되거나 변경되었는지 알고 있어야합니다.

예를 들어 OnContextMenu 메서드 의 메서드 서명 은 다음 인터페이스에 대해 10.2에서 변경되었습니다.

  • IDocumentEvents
  • IGxDocumentEvents
  • IGMxDocumentEvents
  • ISxDocumentEvents

제거에 관한 한 10.2 의 유일한 제거는 다음과 같습니다.

  • MaplexUI
    • MaplexExtension
    • MaplexExtensionClass

나머지 변경 사항은 기능이 추가되었습니다.

아래 주석에서 귀하의 질문에 대답하려면 예, 10.x를 유지 하는 한 다른 버전의 Arc를 컴파일 할 필요가 없습니다 . 그들이 11로 전환 할 때 이것은 다른 이야기 일 수 있습니다. MapInfo를 지원하는 한, 나는 이것에 익숙하지 않습니다.


제안 해 주셔서 감사하지만 두 가지 생각이 있습니다. 1. DLL 버전 문제를 해결할 수 있습니까? 아니면 각 버전의 ArcGIS에 대해 추가 기능을 다시 컴파일해야합니까? 문제는 설치 프로그램이나 레지스트리에 있지 않습니다. 문제는 ESRI가 더 이상 게시자 정책 파일에 새로운 릴리스를 제공하지 않는다는 것입니다. 2. 내 응용 프로그램은 ArcGIS 전용이 아니라 MapInfo에서도 작동합니다. 따라서 대부분의 응용 프로그램은 독립형 인터페이스이며 코드의 일부만 ArcGIS 또는 MapInfo와 관련됩니다.
Andy

Andy는 귀하의 우려를 해결하기 위해 제 답변에 추가 된 내용을 참조하십시오.
GeoSharp
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.