안녕하세요 .net 코어 스타일을 사용하도록 csproj를 변경하려고했습니다. 이 프로젝트는 내가 너겟 패키지를 생성하는 클래스 라이브러리입니다. 모든 내가이 SLN에 몇 가지 프로젝트의 버전을 구동하기 위해 공유 어셈블리 파일을 사용하려고하지만 하드 코드 값Dotnet 팩은 버전 속성에 대한 동적 변수를 고려하지 않습니다.
<Version>1.0.1.1</Version>
로 값을 지정하면 변경으로 잘 작동하는 것 같다. 어떤 dll하지만 괜찮아 작동하지 않는 nuget 패키지를 생성합니다. dotnet pack
을 실행하면 같은 문제가 발생합니다.
이 작업을 수행하기 위해 몇 가지 시도했지만 가장 놀라운 것은 변수를 무시하는 방법 인 것 같습니다. 예 :
<Version>$(Version)</Version>
<Target Name="SetVersion">
<PropertyGroup>
<Version>1.0.1.1</Version>
</PropertyGroup>
InitialTargets="SetVersion"
는 DLL은 모든 변수가 설정되는 어떤 버전 1.0.1.1 이상이 발생. 그러나 nuget 패키지는 여전히 버전 1.0.0.0을 생성합니다.
내가 지정하면 동일한 출력 :
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
그리고는 SharedAssembly.cs 파일의 버전을 읽을 수 있습니다. dll은 올바른 버전이지만 nuget 패키지는 아닙니다.
내가 dotnet pack
를 호출 할 때 난 그냥 버전을 지정할 수 있습니다 알고 있지만 그것을 피하기 위해 기대했다 및 <PackageVersion>
를 사용하려고 VS
놀라워요! 그거야. 고마워 –