是的,他们是!
然后它将取决于代码。
所以,作为一般规则没有。
但是,如果您添加了新的配置项,那么它们很可能不会显示出来。
如果代码使用内置类代替常用的配置管理器来获取值?
那么你必须重新编译。
但是,我们也可以使用这个:
vb.net:
Dim rstData As New DataTable
Using cmdSQL As New SqlCommand(strSQL, New SqlConnection(My.Settings.TEST3))
cmdSQL.Connection.Open()
rstData.Load(cmdSQL.ExecuteReader)
End Using
所以,我经常使用 My.Settings.TEST3 代替配置管理器。
(你会得到情报)。因此,在构建时,会为其中一些 Web 配置文件创建一个类。)
在c#中,上面是:
Properties.Settings.Default.TEST3
并且由于 intel-sense 代替配置管理器而经常使用。
该类在编译时重新构建。因此,如果用于获取 web.config 值的代码始终是配置管理器,那么您应该/应该没问题。
但是,如果代码使用了上面的内置类呢?
这些值是在编译(构建)时从 web.config 中提取的。
类被调用
c#
Settings.Desinger.Cs
vb.net
Settings.Desinger.vb
所以,我会检查上述两个文件。该类往往来自这里:
现在当我们向项目中添加一个连接字符串时,上面呢?
上述确实更新并将上述设置放入 web.config。
但是,创建的类 (settings.Desing.cs/vb?
每次都会重新生成,并且会从 web.config 复制值。
因此这意味着在更改该项目中的设置后,您确实必须重新构建。
如前所述,如果一个来自桌面领域,那么我们只需在上面添加设置并使用它们。它们实际上是在 web 配置中创建的,但我们经常使用上面的 - 因为如前所述,我们添加到项目中的任何新设置现在都具有 intel-sense。
所以,我会搜索源代码:
vb:
My.Settings.TEST3
(search for My.Settings.)
或
c#
Properties.Settings.Default.TEST3
(search for Properties.Settings.)
如果在代码中使用了以上任何一个?
那么是的,你必须重新构建,因为它们是在编译时重新创建到一个类中的,并且值是在编译时从 web.config 中提取的。
如果在所有情况下都使用了配置管理器,那么你就可以了。
但是,如果使用了设计器类,则需要重新构建,更糟糕的是,在重新构建之前,web.config 中的更改不会反映在该类中。