1

우리는 상업용 구성 요소 중 하나 인 .NET 그리드 컨트롤을 NuGet 패키지로 게시하려고합니다. 제품은 2 개의 DLL로 분리되어 있습니다. 하나는 핵심 기능이고 다른 하나는 디자인 타임 지원 어셈블리입니다. 핵심 어셈블리는 "일반"DLL로 재배포 할 수 있으며 어느 위치 에나 배치 할 수 있습니다. 그러나 VS IDE에서 전체 제품이 제대로 작동하도록하려면 디자인 타임 파트를 Visual Studio PrivateAssemblies 폴더와 같은 특수 폴더 또는이를 가리키는 특수 레지스트리 키가있는 폴더에 설치해야합니다. NuGet 패키지를 사용하면이 작업을 수행 할 수 있습니까?NuGet 패키지의 VS PrivateAssemblies와 같은 특수 폴더에 어셈블리 설치

+0

아니요, VS의 개인 부분을 조작하려면 [VSIX 패키지] (http://msdn.microsoft.com/en-us/library/ff363239.aspx)를 고려해야합니다. –

+0

@HansPassant, PowerShell 스크립트를 사용하면 어떨까요? NuGet 패키지의 일부가 될 수 있으며 패키지가 설치 될 때 자동으로 실행될 수 있습니다. – TecMan

답변

0

이와 같은 런타임 의존성을 위해 Chocolatey 패키지를 사용해야합니다. NuGet 패키지는 빌드 타임 의존성을 위해서만 설계되었습니다. http://chocolatey.org/ 참조 - Chocolatey는 NuGet을 사용하지만 초점이 다릅니다. "어디서나"DLL에는 NuGet을 사용하고 VS 디자이너 지원에는 별도의 Chocolatey 패키지를 사용합니다.

+0

질문은 NuGet 패키지 관리자 자체에 관한 것입니다. VS 사용자가 다른 도구를 설치하도록 강요 할 수는 없으므로 최신 버전의 VS에서 사용할 수있는 표준 기능 세트 만 사용할 수 있습니다. – TecMan

+1

요점은 NuGet이 한 가지 작업을 위해 설계된 도구 인 빌드 타임 의존성이라는 것입니다. 다른 것을 위해 사용하려고한다면, 그것은 당신에게 달려 있지만 도구가 설계된 매개 변수를 벗어나 작동하는 것을 기대할 수는 없습니다. NuGet은 빌드 종속성을, Chocolatey는 런타임 종속성을 나타냅니다. –