2014-01-31 2 views
1

Я хочу скопировать MyDir (в моем $ ProjectDir) в $ OutDir {ProductVersion} после завершения сборки.Возможно ли получить версию продукта в событии post build?

Используя следующую конфигурацию в файле csproj, я могу получить версию файла.

<Target Name="AfterBuild"> 
    <GetAssemblyIdentity AssemblyFiles="$(TargetPath)"> 
     <Output TaskParameter="Assemblies" ItemName="AssemblyVersion" /> 
    </GetAssemblyIdentity> 
    <Exec Command="robocopy $(ProjectDir)MyDir $(OutDir)/%(AssemblyVersion.Version) /E" IgnoreExitCode="true" /> 
</Target> 

Это, однако, извлекает FileVersion, а не ProductVersion. Есть ли способ получить ProductVersion в событии после сборки?

ответ

1

Вы ищете Read AssemblyFileVersion from AssemblyInfo post-compile. Для этого вам понадобится настраиваемая задача, поскольку GetAssemblyIdentity не возвращает productversion.

Связанный вопрос имеет ответ на AssemblyFileVersion, его не следует слишком сложно адаптировать, чтобы он возвращал ProductVersion.