2009-06-17 2 views
0

VS2005를 사용하고 있습니다. (기존의 도구를 계속 사용하고 있기 때문에 2008 년으로 이전하지 않았습니다.) 프로젝트 참조가 작동하는 방식에 대해 질문이 있습니다.VS2005에서 GAC의 프로젝트 참조를로드하는 중

GAC에 배포 된 프로젝트에 대한 프로젝트 참조를 만들면 VS는 GAC에서 어셈블리를 사용합니다. GACed 어셈블리에 이전 코드가 있고 코드를 변경하고 그에 대한 빠른 테스트를 수행 할 때마다 성가신 일입니다. 매번 GAC에 새 코드를 추가해야하거나 GAC에서 어셈블리를 제거해야 VS에서 가져올 수 없습니다. 거기에서.

이 동작을 무력화 할 방법이 있습니까?

답변

0

이 문제를 해결하는 가장 좋은 방법은 2 단계 절차입니다.

1.) GAC의 DLL에서 마이너 버전 번호를 업그레이드하십시오. (1.0 to 1.1) 2. 프로젝트 참조를 로컬 복사로 업데이트하고 새 버전 번호를 사용하십시오.

"SHOULD"는 제대로 작동하지만 GAC에서는 항상 100 %가 아닙니다.

GAC의로드를 중지하기 위해 정책 파일의 경로를 탐색 할 수 있지만 더 복잡한 방법이 있습니다.

+0

고마워, 나는 그것이 버전 관리와 관련이 있다고 생각했다. Copy Local이 true이면 VS는 항상 최신 버전을 사용합니다. GAC에서 동일한 버전 번호를 발견하고 로컬에서 GAC의 버전 번호 만 사용하는 것처럼 보입니다. –

+0

Nick - 작품에서 렌치를 하나 더 던지겠습니다. 정책 파일을 가지고 있으면 칼이 모두 창밖으로 나옵니다. ..... –

0

로컬로 참조를 복사하십시오.

+0

작동하지 않는 것 같습니다. bin 디렉터리를 지우고 Copy Local을 true로 설정하고 다시 빌드 한 다음 참조 된 어셈블리가 프로젝트 어셈블리와 함께 bin/Debug 디렉터리에 있는지 확인했습니다. 참조 된 어셈블리는 여전히 GAC에서로드됩니다. –

1

DLL을 직접 가리키는 참조를 변경할 수 없습니까? DLL을 변경하는 경우 GAC DLL 대신 프로젝트를 참조로 사용하십시오.

+0

프로젝트는 직접 참조됩니다. DLL을 직접 가리키면 그렇게 할 수 없게됩니다. –

관련 문제