2017-12-13 11 views
0

회사 용 개인 NuGet 패키지를 만들고 있는데 .dll의 두 가지 버전을 배포하려고합니다. .dll 릴리스는이 dll을 개발 용으로 호출 할 수있는 일부 개발자 용이었습니다. 그리고 일부 개발자는 .dll ID를 디버그하여 두 번째 버전의 DLL을 개발할 수 있습니다.구성 프레임 워크가있는 사용자 정의 너겟 패키지

그럼 내 질문은 NuGet 패키지 만 사용하여이를 수행하고 싶다면 가능합니까? MSBuild에서 참조를 추가하는 패키지 설치시 스크립트를 작성해야합니까, 아니면 과도하게 작성합니까?

의견이 있으십니까? 미리 감사드립니다.

답변

1

내가 MSBuild를에 대한 참조를 추가하는 패키지의 설치에 스크립트를 만들 필요가, 또는 내가 일을과 복잡함을하고 있습니까?

제 생각에는 이러한 것들을 너무 복잡하게 만들 수 있습니다. 즉, 테스트 할 디버그 모드에 을 사용하고 릴리스 모드에 다른 dll을 사용하려면 두 개의 dll 파일이 서로 다른 패키지에 배포되어야하는이어야합니다. NuGet 패키지는 일반적으로 특정 대상 프레임 워크에 대해 하나의 어셈블리 집합 만 포함하기 때문에. 그것은 실제로 디버그 및 릴리스 버전을 제공하도록 설계되지 않았습니다. 우리가 nuget 패키지를 게시 할 때

게다가, 당신의 dll의 릴리스 버전은 사용자가 늘 당신의 dll으로 디버깅하기 때문에 최선의 선택이며, 그들은 그것을 잘 작동하는지 걱정 만하고 그것을 작동하는 방법.

또한 NuGet은 사전 릴리스와 같은 버전을 처리하고 다른 해석을하지 않으므로 모든 문자열을 접미사로 사용하여 시험판 버전을 나타냅니다. 따라서 -beta을 사용하여 개발을 위해 해당 dll의 새 버전을 지정할 수 있습니다.

https://docs.microsoft.com/en-us/nuget/reference/package-versioning#pre-release-versions

는 기본적으로 나의 이해 당, 더 나은해야 패키지의 다른 버전을 사용하십시오. 물론 하나의 패키지를 계속 사용한다면 Nekeniehl이 올바른 방향을 제시했습니다.

희망이 도움이됩니다.

+0

네, 베타 너겟 패키지를 사용하는 아이디어가 너무 잘되어 있습니다. 감사. –

1

같은 DLL을 만들 수 있으며 각 팀은 yournuget -release 또는 yournuget -debug과 같은 dll을 얻을 수 있습니다.

저는 보통 너깃을 만들기 위해 buildscript를 사용합니다. paketFAKE은 작업을 도와줍니다.

그리고 여기에 귀하의 질문에 관련 대답 : How to create a nuget package with both release and debug dll's using nuget package explorer?

+1

대단히 감사합니다. 링크에 따라 디버그를 추가하고 dll을 하나의 패키지에 릴리스 할 수 있습니다. 그러나 레오가 말했듯이, 나는이 일을 지나치게 복잡하게 만들 수 있습니다. 베타 낫겟 패키지가 하나 더 좋을 것입니다. 어쨌든, 또한 당신의 대답에 감사드립니다. –