2009-06-21 2 views
2

집에서 만든 어셈블리를 만들었고 .Net 2.0 구성 도구 (mscorcfg.msu)를 사용하여 GAC에 올바르게 설치했다고 생각합니다. 그러나 Visual Studio에서 참조하려고 할 때 어디에서 찾을 수 있습니까?Visual Studio에서 GAC에 설치된 자체 제작 어셈블리를 참조하는 방법은 무엇입니까?

(내가 어쨌든 GAC를 사용하지 않아야합니다, 알고 있지만 ;-) 나를 기쁘게)

편집 : 나는 충분히 명확한 질문을하지 않았다 다음 GAC에 어셈블리를 설치 한 후에는 표시되지 않습니다 프로젝트 - 참조 추가 메뉴의 .NET 탭에서 확인하십시오.

답변

4

참조 추가 대화 상자가 실제로 레지스트리에서 특히 같습니다

  • [HKEY_LOCAL_MACHINE] \ 마이크로 소프트 \ .NETFramework \의 AssemblyFolders \ SOFTWARE
  • [HKEY_CURRENT_USER] \ 마이크로 소프트 \ SOFTWARE \ .NETFramework \ AssemblyFolders

어셈블리를 추가하려면 이러한 레지스트리 키를 편집해야합니다. 또는 간단히 "찾아보기 ..."버튼 (대신)을 사용하면 더 유혹 될 수 있습니다.

+0

내가 나서서 내 대답을 삭제 ... 나는 아직도 어셈블리를 GAC'd 때 완료했다 바로이 단계를 생각 나게했다. – user7116

+2

... 또는 버전 별 레지스트리 키 SOFTWARE \ Microsoft \ .NETFramework \ v2.0.50727 \ AssemblyFoldersEx – Joe

+0

찾았습니다. -HKLM 키가 내 케이스에서 C : \ program files \ reference assembly \ microsoft \ framework \ v3.5로 지정되었습니다. - .dll을 복사했습니다. 그 폴더에 이제 Visual Studio의 Project-Add Reference 메뉴의 .Net 탭에 나타났습니다. - 그러나 주 응용 프로그램을 빌드하는 동안 오류가없는 어셈블리를 여전히 접하게되었습니다. - gat에 .dll을 설치하여 설치 유틸리티를 레지스터 값으로 지정된 C : \ 드라이브 위치로 지정하여 해결되었습니다. 감사합니다. – Dabblernl

1

GAC에 배포 된 어셈블리를 참조해야 할 경우 Visual Studio의 참조 추가 대화 상자의 찾아보기 탭을 통해 원래 프로젝트의 \ bin \ Debug 디렉터리를 찾아야합니다.

GAC에 어셈블리를 설치했기 때문에이 어셈블리는 강력한 이름을 가지므로 매니페스트에 .publickey 값을 갖게됩니다.

.publickey 값이 포함 된 매니페스트가있는 어셈블리를 참조 할 때 Visual Studio에서는 강력한 이름의 어셈블리가 GAC에 배포 될 가능성이 높으므로 응용 프로그램 폴더로 이진 파일을 복사하지 않습니다.

대신 GAC의 버전을 사용합니다.

+0

감사, 유용한 추가 comment.Actually 귀하의 응용 프로그램을 배포 할 때 피할 수있는 일이. – Dabblernl

0

저는 완전히 무료 인 도구를 만들었습니다. 목표를 달성하는 데 도움이됩니다. Muse VSReferences을 사용하면 GAC 참조 추가 메뉴 항목에서 프로젝트에 대한 전역 어셈블리 캐시 참조를 추가 할 수 있습니다.

희망이 hekps,

뮤즈 VSExtensions 답변을 읽기