我在Windows Server 2012 R2上遇到运行自己的工具(.NET 3.5 Client Profile)的问题。该工具使用单例设置对象来存储程序设置。
用于存储配置文件的用户定义工具设置为SettingsSingleFileGenerator
- 我想这并不意味着什么,只是指向基于GUI的设置编辑器?!
在任何Windows 7计算机上运行以及在提升模式下在Windows Server 2012 R2上运行时,多次存储设置都没有问题。
如果我在非提升的Windows Server 2012 R2上运行该工具,则Settings.Default.Save()
的第一次调用正在按预期工作。随后的每次调用,我都会收到一条错误消息"该进程无法访问该文件...因为它正由另一个进程使用。"。
使用Sysinternals Process Explorer(运行已提升),我检查了该文件是否实际被其他进程使用,但只显示了我的工具。
我在文档中找不到任何可能需要以保存后以某种方式关闭文件的备注。尽管Settings.Default
实例没有关闭这样的功能。在调用Save()
...
可能是Windows Server 2012 R2中的设置吗?安全功能? .NET中的错误?我很感激能解决这个问题......