小编Don*_*nna的帖子

.NET'设置'无法在64位上运行(InvalidOperationException)

我正在构建一个C#.NET(VS2010)应用程序,但在64位Windows 7下保存设置(在32位Windows XP下工作正常)时遇到了一些问题.

我在解决方案中有一个Settings.settings,其中一个名为res112text的设置测试值,在用户范围设置为类型字符串,"内部"作为访问修饰符设置.

然后是save命令

Properties.Settings.Default.res112text = "10002b";
try
{
   Properties.Settings.Default.Save();
}
catch (Exception e)
{
   MessageBox.Show(e.GetType().ToString() + " for " + e.Message.ToString());
}
Run Code Online (Sandbox Code Playgroud)

当被捕时立即显示错误类型:

System.InvalidOperationException
Run Code Online (Sandbox Code Playgroud)

并且对于异常消息它说:

Method failed with unexpected error code 3

我在安装程序安装程序中打包.dll.config文件,它安装到Program Files目录中.

任何人都可以建议可能出现的问题吗?

更新:完整错误是..

Error System.InvalidOperationException: Method failed with unexpected error 
code 3. 

at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(
ResourceType resourceType, Boolean isContainer, String name, SafeHandle 
handle, AccessControlSections includeSections, Boolean createByName, 
ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)

at System.Security.AccessControl.FileSecurity..ctor(String fileName, 
AccessControlSections includeSections)

...

at System.Configuration.SettingsBase.Save()

at MyAddon.IEModule.ConfigSave()
Run Code Online (Sandbox Code Playgroud)

更新:启用IE的保护模式时似乎没有解决方法,除非所有用户手动关闭它.

.net c# settings 64-bit save

4
推荐指数
1
解决办法
2814
查看次数

标签 统计

.net ×1

64-bit ×1

c# ×1

save ×1

settings ×1