NuGet 패키지에 컴파일된 라이브러리 추가

· 1분 읽기

얼마 전 우리가 업로드한 너겟 패키지에서 나온 것이므로 누락된 라이브러리에서 NullReferenceException에 대한 버그를 발견했습니다.

기본적으로 몇 가지 프로젝트를 참조하는 라이브러리 클래스를 컴파일했습니다. 빌드 단계에서는 dll 파일을 bin 폴더에 추가하지만 packaging를 너겟 패키지로 설치하고 다른 솔루션에 설치하면 내가 참조하고 bin 폴더에 복사해야 하는 dll 파일이 없습니다.

해결 방법

이 문제를 해결하는 것은 매우 간단합니다. nuspec 파일을 업데이트하고 복사하려는 각 라이브러리에 대해 files 부분에 file를 추가해야 합니다.

<?xml version="1.0" encoding="utf-8"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <license type="expression">MIT</license>
    <projectUrl>$projectUrl$</projectUrl>
    <iconUrl>$projectIconUrl$</iconUrl>
    <description>$description$</description>
    <releaseNotes></releaseNotes>
    <copyright>$copyright$</copyright>
    <tags></tags>
  </metadata>
  <files>
        <file src="bin\Release\MyFile1.dll" target="lib\net47" />
        <file src="bin\Release\MyFile2.dll" target="lib\net47" />
        <file src="bin\Release\MyFile3.dll" target="lib\net47" />
        <file src="bin\Release\MyFile4.dll" target="lib\net47" />
   </files>
</package>