regasm을 사용하여 내 개발 컴퓨터에 등록하고 올바르게 작동하는 어셈블리를 작성했습니다. 사용자 컴퓨터에 그러한 라이브러리를 배포하는 데 권장되는 방법이 무엇인지 궁금합니다. 내 사용자는 Excel VBA의 COM 라이브러리를 사용합니다.사용자 컴퓨터의 .NET 어셈블리에서 COM 클래스를 배포하는 가장 좋은 방법
나는 regasm을 호출하여 사용자에게 전달하는 간단한 스크립트를 작성할 수 있지만 최선의 방법인지 확실하지 않습니다. 예를 들어 몇 가지 업데이트를 제공 한 후 내 사용자는 등록 된 라이브러리의 여러 버전으로 끝날 수 있으므로 더 이상 필요하지 않은 경우 이전 버전을 제거하는 방법을 제공하고 싶습니다. 사용자는 VBA 스크립트를 직접 작성하여 사용하는 COM 라이브러리의 버전을 알 수 있으므로 어떤 버전을 제거 할 수 있는지 알려줄 수 있어야합니다.
가장 좋은 방법은 무엇입니까?
이 서버를 사용할 것으로 예상되는 종류의 클라이언트 프로그램에 대해 전혀 말하지 않으면 의미있는 답을 얻을 수 없습니다. COM에는 강력한 DLL 지옥 문제가 있습니다. 이전 버전을 임의로 제거하거나 바꾸면 문제가 생길 것입니다. 당신이 클라이언트 프로그램을 깨뜨릴 확률은 매우 높습니다. –
@HansPassant - 수정 됨. –
그래서 클라이언트 프로그래머가 어떤 버전을 사용하고 있는지 알 수 없습니다. * 이전 버전을 자동으로 제거하지 * 마십시오. * 이전 버전을 그대로 두어야합니다. 새 버전이 이전 버전과 평화롭게 공존 할 수 있는지 확인하십시오. 즉, 새로운 [AssemblyVersion]을 사용하여 GAC에 배포해야합니다. 그리고 COM 규칙을 따르십시오. 새 버전의 등록이 이전 인터페이스를 덮어 쓰지 않도록 인터페이스의 변경 사항에 새 지침이 필요합니다. –