Версия доступа от assuminfo в msbuild
-
13-12-2019 - |
Вопрос
Я пытаюсь создать / толкать пакет Nuget через процесс сборки Visual Studio, как объяснено здесь .
Строительный пакет легко:
<Exec WorkingDirectory="$(ProjectDir)" Command="$(NuGetApp) pack $(ProjectFile) -OutputDirectory $(Deploy) -Verbose -Prop Configuration=Release"/>
.
Я вижу .nupkg файл в папке $ (развертывание).
Но уметь нажать на него, мне нужно $ (Assockerversion), чтобы использовать его в:
<Exec Command="$(NuGetApp) push $(ProjectName)$(AssemblyVersion) -s $(NugetServer) $(NugetKey)" />
.
Я попробовал xmlread, чтобы получить значение, но значение в nugetspecfile - это «$ версию $» вместо версии от AssemblyInfo.c.
<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>
.
изменено отсюда: Задача MSBuild для чтения версии DLL
Не связан с StackOverflow