2008-08-07 4 views
15

Sharepoint 응용 프로그램을 개발하고 .NET AjaxControlToolkit 라이브러리를 사용하고 있으며 Sharepoint에 사용자 지정 aspx 페이지를 추가하고 있습니다. Sharepoint 2007은 쿼크 모드로 실행되므로 AJAX 라이브러리를 수정하여 정상적으로 작동하도록해야합니다. 문제는 다른 팀이 이미 AJAX 라이브러리를 사용하고 있으며 다른 버전이 내 팀과 동일하다는 것입니다. 동일한 이름의 bin 폴더에 하나의 dll 만있을 수 있기 때문에 충돌이 발생합니다.여러 버전 어셈블리를 참조하는 방법

내가 아는 바로는 .NET에서이 상황을 쉽게 처리 할 수 ​​있어야합니다. 나는 그것을 해결하기 위해 강력한 이름과 GAC를 사용해 보았지만 여전히 bin 폴더의 dll을 참조합니다. bin 폴더에 AjaxControlToolkit.dll이 없으면 응용 프로그램은 단순히 어셈블리를로드하지 못합니다.

나는이

<%@ 
    Register 
    tagprefix="AjaxControlToolkit" 
    namespace="AjaxControlToolkit" 
    assembly="AjaxControlToolkit, Version=1.0.299.18064, 
    PublicKeyToken=12345678abcdefgh, 
    Culture=neutral" 
%> 

처럼 내에서 완전 조립 정보를 사용하는 경우 그것은 나에게 컴파일러 오류 CS0433

을 제공

사람이 응용 프로그램에서 어셈블리의 여러 버전을 사용하는 방법에 대한 좀 도와 줄래?

+0

동일한 컨트롤에서 다른 어셈블리 버전을 사용합니까? 아니면 같은 프로젝트이지만 다른 컨트롤입니까? – Machinegon

답변

3

글쎄, Compiler Error CS0433에 대한 링크는 참조되는 어셈블리의 여러 버전이 아니라 네임 스페이스 + typename 충돌과 관련된 핵심 이슈임을 분명히합니다.

형식을로드/참조 할 때 컴파일러에서 해당 DLL을로드 할 DLL을 확인할 수 없습니다. Sharepoint가 두 DLL 버전을 모두로드 할 경우 (필요하다고 말한대로)이 오류는 항상 발생합니다.

가장 간단한 수정은 새 DLL의 네임 스페이스를 변경하는 것입니다. 사용자 지정 조정이 있고 코드를 제어하는 ​​것입니다 - 명확하게 표시하십시오.

관련 문제