应用名称的条件编译

本文关键字:条件 编译 应用 | 更新日期: 2023-09-27 18:18:56

我有一个Windows phone应用程序和两个不同的配置,我想要在配置中为应用程序设置一个不同的显示名,有自动化的方法吗?

我尝试在AssemblyInfo.cs中修改AssemblyTitle属性,但这没有做任何事情

应用名称的条件编译

通过创建一个作为预构建事件触发的小程序来解决,该程序读取清单并相应地将其更改为传递给他的配置名称

为参考任何人应该有这个问题,这里是代码。这个实现有两个参数par1:配置的名称par2:到应用程序的WMAppManifest的路径

    static void Main(string[] args)
    {
        XmlDocument document = GetDocument(args[1]);
        SubstituteName(document, args[0]);
        SaveDocument(document, args[1]);
    }
    private static void SaveDocument(XmlDocument document, string path)
    {
        document.Save(path);
    }
    private static void SubstituteName(XmlDocument document, string ConfigName)
    {
        string name="appname "+ConfigName;
        if (ConfigName.Equals("Config1"))
            name = "appname 1";
        if (ConfigName.Equals("Config2"))
            name = "appname 2";
        XmlNode node = document.SelectSingleNode("//App");
        node.Attributes["Title"].Value = name;
    }
    private static XmlDocument GetDocument(string path)
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(path);
        return doc;
    }

在app项目中使用:在预构建事件

"$(SolutionDir)AppNameChanger.exe" $(ConfigurationName) "$(SolutionDir)WP8Project'Properties'WMAppManifest.xml"