1

Windows 7 64 비트 에디션 시스템에서 개발 환경을 설정하려고합니다. VS2005와 VS2008을 설치했습니다.Visual Studio 도구 상자의 어셈블리 위치

직장에서 우리는 .NET Compact Framework 용으로 자체 개발 한 여러 제어 라이브러리가 있습니다. 윈도우 XP 32 비트에서 나는 폴더 C에 저장 할 수 있었다 :

[HKLM\...\Microsoft\.NETCompactFramework\VERSION\WindowsCE\AssemblyFoldersEx\COMPANYNAME] 

에 폴더를 owncontrols \을 추가 폴더 구조는 다음과 같다 :

c:\owncontrols\libname\2.0\dllname.dll 
c:\owncontrols\libname\2.0\dllname.wm5.dll 
c:\owncontrols\libname\3.5\dllname.dll 
c:\owncontrols\libname\3.5\dllname.wm5.dll 

DLL이에게 모든이 동일한 버전 번호. 항목을 레지스트리에 넣은 후 도구 상자에 컨트롤을 추가 할 수 있었고 Visual Studio는 프레임 워크 버전과 장치 유형 (WM5 또는 WinCE 5)에 따라 올바른 DLL을 선택했습니다.

Windows 7에서는 어떻게 든이 작업을 수행 할 수 없습니다. HLKM\SoftwareWOW6432Node 노드 아래에서 레지스트리 항목을 발견하고 XP에서와 동일한 항목을 만들었지 만 도구 상자에 컨트롤을 추가하려고 할 때 컨트롤이 Visual Studio에 나타나지 않습니다.

어쩌면 내가 잘못하고있는 것일까 요? XP에서 설명한대로 컨트롤을 어떻게 추가합니까? GAC에 설치하는 것은 옵션이 아닙니다. 이러한 라이브러리는 자주 변경됩니다.

Visual Studio에서 프레임 워크 버전 및 프로젝트 유형에 따라 적절한 DLL을 선택한다는 것이 정말 마음에 듭니다. DLL을 수동으로 추가하려고 시도했지만 모든 컨트롤이 두 배로 늘었습니다. 토르스텐

+0

컨트롤 어셈블리를 도구 상자로 끌어다 놓았습니까? –

+0

사실 저는 이것을 시도하지 않았습니다. 그러나 VS가 대상 플랫폼 및 .NET 버전에 적합한 어셈블리를 선택한다는 특징을 잃고 싶지는 않습니다. 나는 4 개의 어셈블리를 툴박스 위에 떨어 뜨려야한다. 그 중 두 개는 같은 이름을 가지고있다 (위의 폴더 구조 참조). –

답변

1

내가이 튜토리얼의 기사를 쓴 어떤 도움

감사합니다 :

Visual Studio Toolbox Control Integration

그것은 대부분의 아마 당신의 OS의 비트 수와 함께 할 수있는 뭔가가있다.

AssemblyFolders뿐만 아니라 AssemblyFoldersEx도 사용해 보셨습니까?

32-bit OS: HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\<your control name> 
64-bit OS: HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\AssemblyFolders\<your control name> 

32-bit OS: HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\<your control name> 
64-bit OS: HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\<your control name> 

두 경우 모두 키의 기본값은 어셈블리의 폴더에 대한 전체 경로가 포함 된 문자열입니다.

관련 문제