Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Phone 8应用程序中特定于配置的变量值_C#_.net_Windows_Visual Studio_Windows Phone 8.1 - Fatal编程技术网

C# Windows Phone 8应用程序中特定于配置的变量值

C# Windows Phone 8应用程序中特定于配置的变量值,c#,.net,windows,visual-studio,windows-phone-8.1,C#,.net,Windows,Visual Studio,Windows Phone 8.1,我想做的是根据当前配置设置不同的变量值。因此,当我在调试中运行项目时,我希望应用程序指向我的开发堆栈。当我在发行版中运行应用程序时,我希望该应用程序在我的生产堆栈上运行。我想创建一个Beta配置,它与我的发布配置设置基本相同,但略有不同 谢谢 看看Visual Studio的扩展。它允许您根据当前生成配置转换配置文件 或者你也可以使用。但我建议使用配置转换 编辑: 鉴于您无法使用配置转换,我认为您必须执行编译符号的路径。因此,我将创建配置文件,然后让一个类在运行时使用编译符号来读取正确的配置文件

我想做的是根据当前配置设置不同的变量值。因此,当我在调试中运行项目时,我希望应用程序指向我的开发堆栈。当我在发行版中运行应用程序时,我希望该应用程序在我的生产堆栈上运行。我想创建一个Beta配置,它与我的发布配置设置基本相同,但略有不同

谢谢

看看Visual Studio的扩展。它允许您根据当前生成配置转换配置文件

或者你也可以使用。但我建议使用配置转换

编辑:

鉴于您无法使用配置转换,我认为您必须执行编译符号的路径。因此,我将创建配置文件,然后让一个类在运行时使用编译符号来读取正确的配置文件。大致如下:

public class ConfigurationLoader()
{
    private readonly string _configFile;

    public ConfigurationLoader()
    {
        #if DEBUG 
            _configFile = "app.Debug.config"; 
        #else 
            _configFile = "app.Release.config";
        #endif
    }

    public UniversalAppConfig LoadCofig()
    {
        // Read file

        // Create UniversalAppConfig
    }
}

public class UniversalAppConfig()
{
    public int ConfigurationValueA { get; set; }

    public int ConfigurationValueB { get; set; }
}

您可以在“项目属性->顺便说一句”下设置符号。

慢速猎豹听起来正是我想要的,但我正试图在支持Windows Phone Store和Windows Store应用程序的通用应用程序中实现这一点,但是Slow Cheetah软件包似乎与此类项目不兼容。在项目的项目设置中,有一个位置可以定义其他符号。您可以进入其中一个项目,为MY_SPECIAL_THING添加一个定义,而不要在另一个项目中设置它。然后,在你的代码中,你会在它应该编译的地方使用
#if MY_SPECIAL_THING
。我已经在为一些东西使用编译符号,但我希望有一种内置的方法来处理这个问题。我认为你的解决方案是最好的,因为它只需要一点点的工作就能给我想要的东西。谢谢。考虑了一会儿,我还有一个问题。我总是考虑到安全性,并假设我想在这些配置文件中存储像密钥这样的东西。我应该担心有人打开appxbundle文件并找到我的密钥吗?