【发布时间】:2014-07-16 13:09:48
【问题描述】:
如果我指定一个文件的短路径并运行应用程序,那么它将无法从 exe.config 文件中获取设置。 例如,我在 app.config 中给出了以下设置
<setting name="test" serializeAs="String">
<value>abc</value>
</setting>
在我的示例应用程序下面的代码中
Public Class Form1
Dim aa As String = My.Settings.test
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MsgBox(aa)
End
End Sub
End Class
它按预期显示abc。
现在在调试文件夹中,如果我将设置更改为其他值,例如
<setting name="test" serializeAs="String">
<value>xyz</value>
</setting>
然后从调试文件夹运行应用程序(D:\Desktop\test\bin\Debug\test test 123.exe)然后它显示xyz,因为我已经更改了它。
但如果我指定文件的短路径(D:\Desktop\test\bin\Debug\TESTTE~2.EXE)并运行(可以从 Windows 运行),那么它会显示 abc 本身而不是 xyz。
那么为什么在给出短路径时应用程序无法读取应用程序配置文件?
编辑:您可以下载代码here 要查看错误,您可以使用长路径和短路径运行 \test\bin\Release\test test 123.exe 文件(我已将配置更改为 xyz 以设置测试)
【问题讨论】:
-
是 My.Settings.test 应用程序还是用户设置?您是否尝试过在项目设置中进行同步?
-
@DavidSdot 它在 app.config 中
-
所有的设置都在app.config里,但是有applicationSettings和userSettings,你的设置在哪个分支或者能不能显示整个app.config文件?
标签: c# vb.net app-config