访问设置在发布到服务器后抛出异常

时间:2017-02-07 19:34:25

标签: c# asp.net

我在Web项目的属性中设置设置,例如AccessToken。在我的代码中,我使用

访问该设置
string accessToken = Settings.Default.AccessToken;

当我在本地调试时,它工作得很好。当我使用Web Publish(VS2015)部署到测试服务器时,它可以正常部署。查看web.config,我看到设置设置正确。

当代码运行时,它会抛出异常,无法解析属性“serializeAs”的值。我在访问属性之前添加了代码以检查正在读取的内容:

foreach (SettingsProperty property in Settings.Default.Properties)
{
   Log.InfoFormat("Property: {0}   SerializeAs: {1}   Value: {2}", property.Name, property.SerializeAs, property.DefaultValue);
}

从日志记录中,我看到属性的名称是正确的,而SerializeAs是一个String,值看起来很好。我无法弄清楚是什么原因引起的。有人有想法吗?

作为旁注:我必须在此之前重新创建我的发布设置。他们不知何故被删除了。当我发布时,我得到'发布:1成功',并且在构建/发布输出中没有任何异常。当我以这种方式访问​​它时,我得到了值。

string accessToken = Settings.Default.Properties["AccessToken"];

1 个答案:

答案 0 :(得分:0)

我能够让它发挥作用。在Web发布时,我尝试部署不同的配置(发布)。在Configuration Manager中,我有典型的调试和发布配置,但我也有生产和测试配置。发布配置在测试环境中工作。查看测试配置,我注意到一个项目没有设置为使用与其他项目相同的配置。在Configuration Manager中更改项目的配置解决了我的问题。某些东西必须不同步,这就解决了。奇怪的是web.config是正确的,但访问该属性导致异常。所以,现在已经修好了,继续前进的时间。