2010-06-03 4 views
0

저는 여러 가지 방법 (mscorcfg.msc/drag and drop)을 통해 GAC에 어셈블리를 설치하고 설치하는 것과 관련하여 많은 독서와 실험을했습니다.설명이 필요합니다. GAC에서 .NET 어셈블리 사용 - 전역 적으로 설정?

일단 내가 파일을 GAC에 넣었 으면 Visual Studio 프로젝트에서 참조를 만들 필요가 없었습니다. 나는 당신이 보통의 참조 추가, 찾아보기 등을 통해 참조를 만들 수 있다는 것을 알고 있지만 자동이라고 생각했습니다. 테스팅은 이것이 사실이 아니라는 것을 증명합니다.

아래와 같은 system.web 아래 machine.config 파일에 추가하는 것과 동일한 결과를 얻으려는 포럼 게시물을 보았습니다.

이 기능이 작동하지 않아 실제로 제거 할 때까지 Visual Studio가 중단되었습니다. 내가 알고 싶은 무엇

<assemblies> 
       <add assembly="Blah.Framework.Logging, Version=1.0.3806.25580, Culture=neutral, PublicKeyToken=0beed4b631ebc3cd" /> 
      </assemblies> 

, 내가 바로 GAC에서 어셈블리 내 가정 사용입니다, 그리고 그들이 전 세계적으로 사용할 수 있도록하는 방법은 무엇입니까?

답변

2

세계적으로 사용 가능하다는 것은 모든 프로젝트에 참조가 자동으로 추가됨을 의미하지 않습니다. 즉, DLL을 응용 프로그램의 프로빙 경로 (Visual Studio의 "로컬 복사"옵션)에 복사 할 필요가 없습니다. GAC에서 프로젝트에 대한 참조를 추가해야하지만 선택한 어셈블리가 프로젝트의 bin 폴더 (조사 경로의 첫 번째 중단 지점)에 복사되지 않습니다.

실용적인 목적은 재배포 할 필요가없는 것입니다. 귀하의 응용 프로그램과 함께 참조 DLL입니다. DLL에 대한 참조를 추가하면 GAC에 DLL이 추가 된 모든 시스템에서 해당 참조가 발견됩니다.

+0

답변 해 주셔서 감사합니다. 그것은 제가 온다고하는 논리적 인 결론이며, 더 의미가 있습니다. 내가 말한 능력이 있다고 제안한 그물에 물건을 발견했다는 것이 었습니다. 매우 감사드립니다. – gb2d

관련 문제