Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当没有配置文件时,如何防止 .NET 使用已编译的 .config 设置?
例如,我在 app.config 文件中有一个连接字符串设置,它指定了一个开发服务器。构建后,这会生成一个 .exe.config 文件。一切都很好。
但是,如果您忘记携带 .exe.config 文件,应用程序将愉快地使用设计器 (app.config) 中指定的值,而且不会发出警告。
有什么方法可以让 .NET 程序集抛出异常,而不是静默使用开发期间指定的值?
在“设置”窗格上,每个设置都有一个 GenerateDefaultValueInCode 属性,默认情况下设置为 true。
如果将其设置为 false 并且未找到 .config 文件,则会为该设置返回一个空字符串。我不确定它如何适用于其他数据类型。
您可以在设置设计器中放置一个在运行时检测到的默认值。
也许使连接字符串设置=“NOTSET”,如果找到则检测并抛出。