문제

여기 .

빌딩 패키지는 쉽습니다 :

<Exec WorkingDirectory="$(ProjectDir)" Command="$(NuGetApp) pack $(ProjectFile) -OutputDirectory $(Deploy) -Verbose -Prop Configuration=Release"/>
.

$ (deploy) 폴더에 .nupkg 파일이 표시됩니다.

그러나 그것을 밀어 넣을 수 있도록, 나는 그것을 사용하기 위해 $ (조립체)가 필요합니다.

<Exec Command="$(NuGetApp) push $(ProjectName)$(AssemblyVersion) -s $(NugetServer) $(NugetKey)" />
.

가치를 가져 오기 위해 XmlRead를 시도했지만 nugetspecfile 값은 AssemblyInfo.cs의 버전 대신 "$ 버전 $"입니다.

<XmlRead XPath="/package/metadata/version" XmlFileName="$(NuSpecFile)">
      <Output TaskParameter="Value" PropertyName="AssemblyVersion" />
    </XmlRead>
.

버전에 액세스하려면 "NuGet Push"에서 사용할 수 있습니까?

도움이 되었습니까?

해결책

이것을 할 것입니다 :

<PropertyGroup>
    <MyAssemblies>somedll\the.dll</MyAssemblies>
  </PropertyGroup>

 <Target Name="RetrieveIdentities">
    <GetAssemblyIdentity
        AssemblyFiles="$(MyAssemblies)">
      <Output
          TaskParameter="Assemblies"
          ItemName="MyAssemblyIdentities"/>
    </GetAssemblyIdentity>

    <Message Text="Files: %(MyAssemblyIdentities.Version)"/>
  </Target>
.

여기에서 변경됨 : DLL 버전을 읽을 수있는 MSBuild 태스크

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top