我正在创建一个 Visual Studio 2013 包 (vsix)(无耻插件:pMixins)。作为我使用TeamCity作为持续集成服务器的一部分,我已将 Team City 配置为构建 .vsix 包(Visual Studio Package (vsix) - Team City without Visual Studio installed)。
现在我想配置 Team City 以在 VSIX架构中设置版本:
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest
Version="2.0.0"
xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011"
xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Version="1.0" Language="en-US" Publisher="Company" />
按照使用 msbuild 中的建议,我想使用来自 teamcity 的值更新配置文件以及如何从 MSBuild 脚本更新 XML 属性?我已更新Microsoft.VsSDK.targets
为将XmlPoke与以下目标一起使用:
<Target
Name="UpdateVSIXVersion"
BeforeTargets="PrepareForBuild"
Condition="$(VSIXVersion) != '' And $(VSIXVersion) != '*Undefined*'">
<Message Text= "Updating VSIX Version" />
<XmlPoke
XmlInputPath="source.extension.vsixmanifest"
Query="/PackageManifest/Metadata/Identity/@Version"
Value="$(VSIXVersion)">
</XmlPoke>
</Target>
我使用要设置的系统参数更新了 Team City VSIXVersion
:
但是,当我检查 TeamCity 时,它进行了 0 次替换:
如何让 Team City 正确更新 .vsixmanifest xml?