2017-05-10 1 views
1

누구나 NuGet을 통해 사용할 수있는 오픈 소스 Windows Form Control이 있지만이 컨트롤은 애니메이션을 처리하는 다른 라이브러리 중 하나에 따라 다릅니다.NuGet 및 디자이너 툴바를 통해 종속성이있는 게시 구성 요소

이제 문제는 NuGet 패키지를 추가 한 후에 도구 상자에서 컨트롤을 볼 수 없다는 것입니다. 실제로 다른 라이브러리에 의존적이기 때문에 수동으로 컨트롤을 추가 할 수도 없습니다. 라이브러리는 다른 폴더에 있습니다.

NuGet 패키지의 툴바에 컨트롤을 추가하는 더 좋은 방법이 있습니까? 현재로서는 프로젝트를 한 번 컴파일 한 다음 /bin/Debug 또는 /bin/Release 폴더의 라이브러리를 도구 모음에 추가해야합니다.


문제의 라이브러리는 다음과 같습니다

https://github.com/falahati/CircularProgressBar

+0

관련 : http://stackoverflow.com/questions/37672233/how-to-automatically-add-components-from-a-nuget-package http://stackoverflow.com/a/29060299/495455 이것은 수동으로해야한다는 것을 나타냅니다 : https://forum.patagames.com/posts/t9-How-to-add-a-PdfView-control-to-the-Toolbox WPF 및 관련 기사를 찾았습니다. 또한 UWP는 WinForms를 제어하지 않습니다. –

+0

구성 요소에 종속성이없는 경우 추가 프로세스가 정상입니다. 그러나 NuGet이 이러한 종속성 시나리오를 처리하기 위해 빌드되지 않았으며 Designer Toolbar가 프로젝트에 대한 추가 참조를 실제로 따르지 않아 결과적으로 다른 라이브러리가 있으므로 툴바에 컨트롤을 추가 할 수 없습니다. no는 다운로드 한 NuGet 패키지 옆에 없습니다. NuGet이 종속 라이브러리를 기본 라이브러리 옆에 배치하는 또 다른 방법을 제공하는지 알고 싶었습니다. –

답변

1

NuGet이 종속 시나리오를 처리하도록 제작되지 보인다 디자이너 도구 상자가 실제로 프로젝트에 추가 참조를 따르지 않는, 결과적으로 컨트롤을 도구 상자에 추가 할 수 없습니다.

종속성이 문제의 원인이되는 상황을 고려할 때 이는 디자인 상 (또는 지원되지 않음) 인 것처럼 보입니다.

NuGet이 기본 라이브러리 옆에 종속 라이브러리를 배치하는 다른 방법을 제공하는지 알고 싶었습니다.

두 어셈블리를 병합하여 해결하려 했습니까? Microsoft의 ILMerge 도구를 사용하면이 작업을 수행 할 수 있습니다. 여기에 Primary.dllSecondary.dll (및 등)을 Merged.dll에 합병하여 log.txt 합병을합니다.

ilmerge /log:log.txt /out:Merged.dll Primary.dll Secondary.dll 
+0

글쎄, 나는 그것을 시도하지는 않았지만, 좋은 이유로, 사용자가 그의 프로젝트에서도 다른 라이브러리를 사용하고 싶다면 어떻게 될까? 그렇다면 중복 된 참조 문제가 생길 것입니다. 네임 스페이스를 변경하거나 ilmerge를 사용하여 모든 클래스를 내부 클래스로 만들 수 있습니까? 라이브러리의 내부 사본을 병합 할 수 있습니까? –

+0

병합 된 어셈블리에서 ILSpy를 사용하고 C# 프로젝트로 저장하십시오. –

+0

당신의 대답을 받아 들였지만, 지금 그대로두고 라이브러리에 도구 모음을 추가하라고 요청할 것입니다. 이것은 단지 모든 것을 불필요하게 복잡하게 만듭니다. –

관련 문제