急!“解决方案文件...已在环境外部被修改”

大狗狗 2009-06-28 09:22:33
VS2005 windows XP


诡异啊,今早不知怎么了,VS突然提示:

解决方案文件...已在环境外部被修改 按重新加载从磁盘加载已更新解决方案,按忽略下次打开解决方案时使用这些更改。

不管采用哪种选择,反正是解决方案sln文件中内容大部分变成了乱码

好在我工程有备份。把备份中的sln文件拷过来,但工程一加载完毕,又提示"解决方案文件...已在环境外部被修改.."
sln文件又被改成乱码!! 怎么回事,真不是我改的呀



以前从未遇过这情况啊,大虾们救我!
...全文
1303 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljhcy99 2009-06-28
  • 打赏
  • 举报
回复
你的版本管理器设置不好啊,
有人随便能迁出。
qldsrx 2009-06-28
  • 打赏
  • 举报
回复
看来你有必要调整下你的VS选项,先去掉那个自动保存,然后把自动检测UTF8的选项打开。
cnwolfs 2009-06-28
  • 打赏
  • 举报
回复
你可以把sln删除,当然要先把整个源码备份,然后使用另外的工程文件来启动,每个项目在加回来即可
longhui666888 2009-06-28
  • 打赏
  • 举报
回复
呵呵,楼主不错
大狗狗 2009-06-28
  • 打赏
  • 举报
回复
问题已解决,情况如下:

发生问题的原因是我忽略了一个重要事实:当你加载项目和编译项目时,你项目中有关窗口的代码会被VisualStudio执行

我在一窗口的load函数中判断命令行字符串是否存在,如有进行一系列IO操作。问题由此而生:当我打开VS的解决方案文件后,我的窗口load函数被执行,而命令行所指的是VS解决方案文件路径,于是就对VS解决方案文件进行了IO操作!!

我的初衷是打开我自定义的文件类型,然后,上面所述的情况却不幸的改变了VS解决方案文件。

明白了事故原因,办法就多种了,我是在获取到命令行字符串后判断其最后三个字符是否为"sln"。如是则返回。
问题由些解决。

感谢各位回贴!请今后多多关照^^
大狗狗 2009-06-28
  • 打赏
  • 举报
回复
再顶,前三位朋友说的不够详细啊
大狗狗 2009-06-28
  • 打赏
  • 举报
回复
up下

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧