2017-05-06 11 views
0

여러 프로젝트가 포함 된 Visual Studio 2015 솔루션이 있습니다. 이 프로젝트 중 일부는 서로를 참조합니다. 예Visual Studio 솔루션에서 여러 Nuget 패키지 만들기

인 TeamCity에
Solution 
    Project A 
    Project B - references Project A 

, 나는 Nuget는 프로젝트 B에서 패키지를 생성 할 때, 나는 프로젝트 A는 Nuget 패키지와 참조가 알고 있어야 할 있도록,이 프로젝트의 각 nuget 패키지를 만들려면 그 Nuget 패키지는 -IncludeReferencedProjects 플래그를 사용하지 않아도됩니다.

이것이 가능합니까? 그렇다면 어떻게?

답변

1

VS 2017 (또는 ".net core SDK"라고 표시된cli 툴링)을 사용하면 정확하게 동작하는 새 sdk 기반 csproj 툴링을 사용하여 라이브러리를 빌드 할 수 있습니다. 각 프로젝트는 별도의 NuGet 패키지 및 프로젝트를 생성합니다 참조는 NuGet 의존성으로 대체 될 것입니다.

그렇게하려면, (명령 줄 또는 dotnet new lib)의 .NET 표준 라이브러리 프로젝트 템플릿을 사용 - 당신은 .NET 프레임 워크에 대한 귀하의 라이브러리를 구축 netstandard1.4에서 csproj 파일의 <TargetFramework> 요소의 내용을 변경하려는 경우 ~에 net461 (아직 새 프로젝트 시스템/도구를 사용하는 .NET Framework 라이브러리 템플릿이 없습니다).

당신이 다음 CI 빌드에서 dotnet pack 또는 msbuild /t:Pack를 사용 nuget 패키지를 만들려면 (뿐만 아니라 .NET의 핵심 도구 구축을위한 인 TeamCity 플러그인이 있습니다. https://blog.jetbrains.com/teamcity/2016/11/teamcity-dotnet-core/ 참조).

+0

안녕 마틴, 감사 ... 나는 VS 2015를 사용하고 있다고 언급하는 것을 잊었습니다. –

+0

음 .. 쉬운 기능으로 원한다면 업그레이드해야합니다. Nuget <4/vs2015 솔루션은 nuspec 파일을 손으로 편집하거나 스크립트를 작성하여 설정하고 유지하는 데 어려움이 있습니다. –