首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单独的文件中设置属性

在单独的文件中设置属性
EN

Stack Overflow用户
提问于 2013-10-14 19:00:09
回答 1查看 167关注 0票数 0

我有一个XML文件,它将GUID存储为属性,我想从另一个XML文件中设置这个属性值。我注意到Msbuild也许能做到。我知道了如何读取这个属性,但我在实际设置值和保存文件时遇到了困难。

下面是我的XML文件中的代码,它将GUID存储为属性(文件名为GUID.properties):

代码语言:javascript
复制
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
    <PropertyGroup>    
        <GUIDProperty>NULL</GUIDProperty>
    </PropertyGroup>
</Project>

下面是我的XML中的代码,在这里我试图为GUID设置属性:

代码语言:javascript
复制
<!-- Create GUID for Installation -->
    <MSBuild.ExtensionPack.Framework.Guid TaskAction="Create">
    <Output TaskParameter="FormattedGuidString" PropertyName="GuidString" />
    </MSBuild.ExtensionPack.Framework.Guid>    

<!-- Set GUIDProperty in GUID.property -->
    <MSBuild.ExtensionPack.Xml.XmlFile TaskAction="UpdateElement" File="$(MSBuildProjectDirectory)\GUID.properties" XPath="GUIDProperty" InnerText="$(GuidString)"/>

所以,我所要做的就是在GUID.properties中设置GUID属性。如果没有Msbuild有一种更简单的方法,我完全支持,但在我看来,我可能需要Msbuildextensionpack。我对XML和Msbuild并不十分熟悉,这就是我在这里问的原因。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-14 19:55:05

我不认为你真的需要味精。您只需使用msbuild就可以做到这一点。

示例:

代码语言:javascript
复制
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Target Name="UpdateGuid">
    <PropertyGroup>
        <_xmlFile>guid.properties</_xmlFile>
        <_newGuid>$([System.Guid]::NewGuid())</_newGuid>
    </PropertyGroup>
    <XmlPoke Namespaces="&lt;Namespace Prefix='msb' Uri='http://schemas.microsoft.com/developer/msbuild/2003'/&gt;"
             XmlInputPath="$(_xmlFile)" 
             Query="/msb:Project/msb:PropertyGroup/msb:GUIDProperty"
             Value="$(_newGuid)" />
</Target>
</Project>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19367303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档