2

对这个问题感到非常沮丧...... :-(

Winforms,C# 2.0,VS 2010

在开发过程中,我只是尝试访问 Settings.setting 文件中的设置值。例如:

string foo = MyProject.Properties.Settings.Default.InstallerLogFile_Path

正如预期的那样,它有效。

但是在任何其他机器上部署我的 .exe 文件时,我遇到了一个Configuration system failed to initialize异常。内部异常说:Could not find a part of the path C:\Documents and Settings\...\user.config

在我的 Settings.settings 文件中,我有一些应用程序范围的字符串和一个用户范围的 WebService URL。我需要它作为用户范围,因为 URL 值可能会在运行时发生变化。

编辑:我刚刚创建了一个测试应用程序,它简单地引发一个带有一个应用程序范围的字符串值和一个用户范围的字符串值的 MessageBox。它无需保存设置Settings.Default.Save()或其他一些“额外”操作即可工作......这让我发疯:(

任何帮助将不胜感激。

4

2 回答 2

0

我知道这已经晚了两年,但是嘿,这是给谷歌员工的。

当我在 C# 中使用资源文件和内置应用程序设置时,在更改命名空间后,我遇到了相同的错误文本,针对 .NET 4.0,在 Windows 7 上使用 Visual Studio 2010。

基本上,命名空间搞砸了,配置文件不匹配。我最终得到了相同的错误文本。

1) 确保Resources.Designer.cs设置资源管理器的行是正确的。例如:global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("YOUR_NAMESPACE_NAME.Properties.Resources", typeof(Resources).Assembly);我使用的命名空间被搞砸了。确保引号之间的文字准确无误。

2) 删除user.config文件。它不一定位于您的项目中。我在C:/users/myusername/AppData/Local/CompanyName/Project_name_with_a_random_string/1.0.0.0/user.config

这对我的问题有用。对于您的,我建议您查看上面 2) 中指示的文件夹。如果您没有user.config那里,您需要强制应用程序创建一个。当我打电话给我时,这发生在我身上Properties.Settings.Default.Save();可能不会伤害只是在表单初始化时调用保存。

于 2013-09-16T14:47:03.837 回答
0

在您的另一台计算机上,如果您看到名为 YourApplicationName.vshost.exe 和 YourApplicationName.vshost.exe.config 的文件,请删除它们并查看错误是否仍然存在。

于 2011-04-06T19:05:03.617 回答