【问题标题】:Accessing setting throws exception after publish to server发布到服务器后访问设置抛出异常
【发布时间】:2017-02-08 23:52:19
【问题描述】:

我在 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 是一个字符串,并且值看起来不错。我不知道是什么原因造成的。有人有想法吗?

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

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

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    我能够让它工作。网络发布时,我尝试部署不同的配置(发布)。在配置管理器中,我有典型的调试和发布配置,但我也有生产和测试配置。发布配置在测试环境中工作。查看测试配置,我注意到一个项目未设置为使用与其他项目相同的配置。在配置管理器中更改项目的配置解决了我的问题。一定有什么东西不同步了,这修复了它。奇怪的是 web.config 是正确的,但是访问该属性会导致异常。所以,现在已经解决了,是时候继续前进了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 2022-07-08
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      • 1970-01-01
      相关资源
      最近更新 更多