2010-06-17 4 views
1

강력한 이름을 참조하여 Assembly.Load()을 사용하여 .Net 3.5 SP1의 일부로 설치된 어셈블리를로드하려고합니다. 이것은 내 컴퓨터에서 지금은 잘 작동하지만 미래의 증거입니까? 패치가 설치되거나 닷넷 프레임 워크의 새로운 버전이 출시되면.Net의 새 버전이 출시되면 어셈블리의 강력한 이름이 변경됩니까?

핵심 닷넷 어셈블리의 강력한 이름이 변경 것인가?

편집 : .Net 5.0에 System.Data를 대량으로 다시 작성하면 강력한 이름을 사용하여 해당 플랫폼에서 내 응용 프로그램을 손상시키지 않습니까?

+2

이 문제를 해결하는 방법은 부분적으로 지정된 이름을 사용하고 부분적으로 규정 된 이름을 사용하고, 완전히 .config 파일에서 그 자격을하는 것입니다. http://msdn.microsoft.com/en-us/library/fb1c06s6(VS.85).aspx – codekaizen

답변

1

서비스 팩과 같은 패치는 어셈블리의 강력한 이름을 변경하지 않습니다. 이는 서비스 팩에 포함하기에 너무 큰 변화가 될 것입니다.

버전 번호가 강력한 이름에 포함되어 있기 때문에 프레임 워크의 주요 버전간에 강력한 이름이 변경됩니다.

+0

하지만 다시 컴파일 한 후에 만. –

1

강력한 이름은 다시 컴파일되지 않으면 변경되지 않습니다.

+0

당신이 어셈블리 버전, 어셈블리 이름을 변경하지 않는 아니,이 사실이 아니다, 재 컴파일이 이름을 변경하지 않거나 키. –

+0

@ 0xA3, 예 - 다시 컴파일하고 프레임 워크 버전과 같이 변경되면 의미가 있습니다. –

관련 문제